Merge "Rename libicuuc-host/libicui18n-host to libicuuc/libicui18n" am: 1b93209e5c am: 137d67af8e
am: 1892305074

Change-Id: Id4083ba0a3cdd3a3ae31358295f7560ed4b5e25b
diff --git a/ChangeLog b/ChangeLog
index 08725dd..ef6cb8e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -593,7 +593,7 @@
 
 Tue Apr 22 10:27:17 CEST 2008 Daniel Veillard <daniel@veillard.com>
 
-	* dict.c: improvement on the hashing of the dictionnary, with visible
+	* dict.c: improvement on the hashing of the dictionary, with visible
 	  speed up as the number of strings in the hash increases, work from
 	  Stefan Behnel
 
@@ -5017,7 +5017,7 @@
 Sun Jan 23 23:54:39 CET 2005 Daniel Veillard <daniel@veillard.com>
 
 	* hash.c include/libxml/hash.h: added xmlHashCreateDict where
-	  the hash reuses the dictionnary for internal strings
+	  the hash reuses the dictionary for internal strings
 	* entities.c valid.c parser.c: reuse that new API, leads to a decent
 	  speedup when parsing for example DocBook documents.
 
@@ -5371,7 +5371,7 @@
 Wed Nov 24 13:41:52 CET 2004 Daniel Veillard <daniel@veillard.com>
 
 	* dict.c include/libxml/dict.h: added xmlDictExists() to the 
-	  dictionnary interface.
+	  dictionary interface.
 	* xmlreader.c: applying xmlTextReaderHasAttributes fix for namespaces
 	  from Rob Richards
 
@@ -5697,7 +5697,7 @@
 Tue Oct 26 18:09:59 CEST 2004 Daniel Veillard <daniel@veillard.com>
 
 	* debugXML.c include/libxml/xmlerror.h: added checking for names
-	  values and dictionnaries generates a tons of errors
+	  values and dictionaries generates a tons of errors
 	* SAX2.ccatalog.c parser.c relaxng.c tree.c xinclude.c xmlwriter.c
 	  include/libxml/tree.h: fixing the errors in the regression tests
 
@@ -7746,14 +7746,14 @@
 	  make tests
 	* xpath.c include/libxml/xpath.h: added xmlXPathCtxtCompile() to
 	  compile an XPath expression within a context, currently the goal
-	  is to be able to reuse the XSLT stylesheet dictionnary, but this
+	  is to be able to reuse the XSLT stylesheet dictionary, but this
 	  opens the door to others possible optimizations.
 	* dict.c include/libxml/dict.h: added xmlDictCreateSub() which allows
-	  to build a new dictionnary based on another read-only dictionnary.
-	  This is needed for XSLT to keep the stylesheet dictionnary read-only
+	  to build a new dictionary based on another read-only dictionary.
+	  This is needed for XSLT to keep the stylesheet dictionary read-only
 	  while being able to reuse the strings for the transformation
-	  dictionnary.
-	* xinclude.c: fixed a dictionnar reference counting problem occuring
+	  dictionary.
+	* xinclude.c: fixed a dictionary reference counting problem occuring
 	  when document parsing failed.
 	* testSAX.c: adding option --repeat for timing 100times the parsing
 	* doc/* : rebuilt all the docs
@@ -7806,7 +7806,7 @@
 Thu Jan  8 17:57:50 CET 2004 Daniel Veillard <daniel@veillard.com>
 
 	* xmlschemas.c: removed a memory leak remaining from the switch
-	  to a dictionnary for string allocations c.f. #130891
+	  to a dictionary for string allocations c.f. #130891
 
 Thu Jan  8 17:48:46 CET 2004 Daniel Veillard <daniel@veillard.com>
 
@@ -7928,7 +7928,7 @@
 Fri Jan  2 11:40:06 CET 2004 Daniel Veillard <daniel@veillard.com>
 
 	* SAX2.c: found and fixed a bug misallocating some non
-	  blank text node strings from the dictionnary.
+	  blank text node strings from the dictionary.
 	* xmlmemory.c: fixed a problem with the memory debug mutex
 	  release.
 
@@ -9386,7 +9386,7 @@
 
 	* parser.c: William's change allowed to spot a nasty bug in xmlDoRead
 	  if the result is not well formed that ctxt->myDoc is not NULL
-	  and uses the context dictionnary.
+	  and uses the context dictionary.
 
 Fri Sep 26 21:09:34 CEST 2003 Daniel Veillard <daniel@veillard.com>
 
diff --git a/Makefile.am b/Makefile.am
index 70720f3..9f988b0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -216,6 +216,10 @@
 	@echo '## Go get a cup of coffee it is gonna take a while ...'
 	$(MAKE) CHECKER='valgrind -q' runtests
 
+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
 
 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)
@@ -1207,7 +1211,7 @@
 	     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 \
+	     libxml2-config.cmake.in autogen.sh \
 	     trionan.c trionan.h triostr.c triostr.h trio.c trio.h \
 	     triop.h triodef.h libxml.h elfgcchack.h xzlib.h buf.h \
 	     enc.h save.h testThreadsWin32.c genUnicode.py TODO_SCHEMAS \
diff --git a/NEWS b/NEWS
index 8027d55..d248c69 100644
--- a/NEWS
+++ b/NEWS
@@ -845,7 +845,7 @@
    - 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 dictionnaries (based on Stefan Behnel work),
+      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
@@ -1231,7 +1231,7 @@
     Bakefile support (Francesco Montorsi), Windows compilation (Joel Reed),
     some gcc4 fixes, HP-UX portability fixes (Rick Jones).
    - bug fixes: xmlSchemaElementDump namespace (Kasimier Buchcik), push and
-    xmlreader stopping on non-fatal errors, thread support for dictionnaries
+    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
@@ -1244,7 +1244,7 @@
     Hendricks), aliasing bug exposed by gcc4 on s390, xmlTextReaderNext bug
     (Rob Richards), Schemas decimal type fixes (William Brack),
     xmlByteConsumed static buffer (Ben Maurer).
-   - improvement: speedup parsing comments and DTDs, dictionnary support for
+   - 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
@@ -1454,7 +1454,7 @@
     URI on SYSTEM lookup failure, XInclude parse flags inheritance (William),
     XInclude and XPointer fixes for entities (William), XML parser bug
     reported by Holger Rauch, nanohttp fd leak (William),  regexps char
-    groups '-' handling (William), dictionnary reference counting problems,
+    groups '-' handling (William), dictionary reference counting problems,
     do not close stderr.
    - performance patches from Petr Pajas
    - Documentation fixes: XML_CATALOG_FILES in man pages (Mike Hommey)
@@ -1482,7 +1482,7 @@
     William) reported by Yuuichi Teranishi
    - bugfixes: make test and path issues, xmlWriter attribute serialization
     (William Brack), xmlWriter indentation (William), schemas validation
-    (Eric Haszlakiewicz), XInclude dictionnaries issues (William and Oleg
+    (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
@@ -1503,7 +1503,7 @@
 
 
 2.6.5: Jan 25 2004:
-   - Bugfixes: dictionnaries for schemas (William Brack), regexp segfault
+   - 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
@@ -1515,14 +1515,14 @@
     Fleck), doc (Sven Zimmerman), I/O example.
    - Python bindings: fixes (William), enum support (Stéphane Bidoul),
     structured error reporting (Stéphane Bidoul)
-   - XInclude: various fixes for conformance, problem related to dictionnary
+   - XInclude: various fixes for conformance, problem related to dictionary
     references (William & me), recursion (William)
    - xmlWriter: indentation (Lucas Brasilino), memory leaks (Alfred
     Mickautsch),
    - xmlSchemas: normalizedString datatype (John Belmonte)
    - code cleanup for strings functions (William)
    - Windows: compiler patches (Mark Vakoc)
-   - Parser optimizations, a few new XPath and dictionnary APIs for future
+   - Parser optimizations, a few new XPath and dictionary APIs for future
     XSLT optimizations.
 
 
@@ -1617,8 +1617,8 @@
     of change
    - Increased the library modularity, far more options can be stripped out,
     a --with-minimum configuration will weight around 160KBytes
-   - Use per parser and per document dictionnary, allocate names and small
-    text nodes from the dictionnary
+   - Use per parser and per document dictionary, allocate names and small
+    text nodes from the dictionary
    - 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,
@@ -1665,7 +1665,7 @@
     (William), xmlCleanupParser (Marc Liyanage), CDATA output (William), HTTP
     error handling.
    - xmllint options: --dtdvalidfpi for Tobias Reif, --sax1 for compat
-    testing,  --nodict for building without tree dictionnary, --nocdata to
+    testing,  --nodict for building without tree dictionary, --nocdata to
     replace CDATA by text, --nsclean to remove surperfluous  namespace
     declarations
    - added xml2-config --libtool-libs option from Kevin P. Fleming
diff --git a/SAX2.c b/SAX2.c
index ffef3e1..5cbb700 100644
--- a/SAX2.c
+++ b/SAX2.c
@@ -55,7 +55,7 @@
  * @ctxt:  an XML validation parser context
  * @msg:   a string to accompany the error message
  */
-static void
+static void LIBXML_ATTR_FORMAT(2,0)
 xmlSAX2ErrMemory(xmlParserCtxtPtr ctxt, const char *msg) {
     xmlStructuredErrorFunc schannel = NULL;
     const char *str1 = "out of memory\n";
@@ -93,7 +93,7 @@
  *
  * Handle a validation error
  */
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
 xmlErrValid(xmlParserCtxtPtr ctxt, xmlParserErrors error,
             const char *msg, const char *str1, const char *str2)
 {
@@ -133,7 +133,7 @@
  *
  * Handle a fatal parser error, i.e. violating Well-Formedness constraints
  */
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
 xmlFatalErrMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
                const char *msg, const xmlChar *str1, const xmlChar *str2)
 {
@@ -164,7 +164,7 @@
  *
  * Handle a parser warning
  */
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
 xmlWarnMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
                const char *msg, const xmlChar *str1)
 {
@@ -189,7 +189,7 @@
  *
  * Handle a namespace error
  */
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
 xmlNsErrMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
             const char *msg, const xmlChar *str1, const xmlChar *str2)
 {
@@ -213,7 +213,7 @@
  *
  * Handle a namespace warning
  */
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
 xmlNsWarnMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
              const char *msg, const xmlChar *str1, const xmlChar *str2)
 {
diff --git a/catalog.c b/catalog.c
index 5773db3..6dfdfbb 100644
--- a/catalog.c
+++ b/catalog.c
@@ -47,9 +47,9 @@
 #define MAX_CATAL_DEPTH	50
 
 #ifdef _WIN32
-# define PATH_SEAPARATOR ';'
+# define PATH_SEPARATOR ';'
 #else
-# define PATH_SEAPARATOR ':'
+# define PATH_SEPARATOR ':'
 #endif
 
 /**
@@ -238,7 +238,7 @@
  *
  * Handle a catalog error
  */
-static void
+static void LIBXML_ATTR_FORMAT(4,0)
 xmlCatalogErr(xmlCatalogEntryPtr catal, xmlNodePtr node, int error,
                const char *msg, const xmlChar *str1, const xmlChar *str2,
 	       const xmlChar *str3)
@@ -3247,7 +3247,7 @@
 	while (xmlIsBlank_ch(*cur)) cur++;
 	if (*cur != 0) {
 	    paths = cur;
-	    while ((*cur != 0) && (*cur != PATH_SEAPARATOR) && (!xmlIsBlank_ch(*cur)))
+	    while ((*cur != 0) && (*cur != PATH_SEPARATOR) && (!xmlIsBlank_ch(*cur)))
 		cur++;
 	    path = xmlStrndup((const xmlChar *)paths, cur - paths);
 #ifdef _WIN32
@@ -3263,7 +3263,7 @@
 		xmlFree(path);
 	    }
 	}
-	while (*cur == PATH_SEAPARATOR)
+	while (*cur == PATH_SEPARATOR)
 	    cur++;
     }
 }
diff --git a/configure.ac b/configure.ac
index 0260281..911984e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,12 +3,13 @@
 AC_INIT
 AC_CONFIG_SRCDIR([entities.c])
 AC_CONFIG_HEADERS([config.h])
+AM_MAINTAINER_MODE([enable])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CANONICAL_HOST
 
 LIBXML_MAJOR_VERSION=2
 LIBXML_MINOR_VERSION=9
-LIBXML_MICRO_VERSION=3
+LIBXML_MICRO_VERSION=4
 LIBXML_MICRO_VERSION_SUFFIX=
 LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX
 LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
@@ -158,7 +159,7 @@
   if test "$withval" != "no" -a "$withval" != "yes"; then
     RDL_DIR=$withval
     CPPFLAGS="${CPPFLAGS} -I$withval/include"
-    LIBS="${LIBS} -L$withval/lib"
+    LDFLAGS="${LDFLAGS} -L$withval/lib"
   fi
 ])
 AC_ARG_WITH(regexps,
@@ -194,7 +195,7 @@
   if test "$withval" != "no" -a "$withval" != "yes"; then
     Z_DIR=$withval
     CPPFLAGS="${CPPFLAGS} -I$withval/include"
-    LIBS="${LIBS} -L$withval/lib"
+    LDFLAGS="${LDFLAGS} -L$withval/lib"
   fi
 ])
 AC_ARG_WITH(lzma,
@@ -202,7 +203,7 @@
   if test "$withval" != "no" -a "$withval" != "yes"; then
     LZMA_DIR=$withval
     CPPFLAGS="${CPPFLAGS} -I$withval/include"
-    LIBS="${LIBS} -L$withval/lib"
+    LDFLAGS="${LDFLAGS} -L$withval/lib"
   fi
 ])
 AC_ARG_WITH(coverage,
@@ -390,24 +391,39 @@
 if test "$with_zlib" = "no"; then
     echo "Disabling compression support"
 else
-    AC_CHECK_HEADERS(zlib.h,
-        [SAVE_LDFLAGS="${LDFLAGS}"
-	 LDFLAGS="-L${Z_DIR}/lib"
-	AC_CHECK_LIB(z, gzread,[
-	    AC_DEFINE([HAVE_LIBZ], [1], [Have compression library])
-	    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])
-	 LDFLAGS="${SAVE_LDFLAGS}"])
+    # Try pkg-config first so that static linking works.
+    # If this succeeeds, we ignore the WITH_ZLIB directory.
+    PKG_CHECK_MODULES([Z],[zlib],
+        [have_libz=yes],
+        [have_libz=no])
+
+     if test "x$have_libz" = "xno"; then
+        AC_CHECK_HEADERS(zlib.h,
+            AC_CHECK_LIB(z, gzread,[
+                have_libz=yes
+                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],
+                [have_libz=no])
+             )
+    else
+	# we still need to check for zlib.h header
+	AC_CHECK_HEADERS([zlib.h])
+    fi
+
+    # Found the library via either method?
+    if test "x$have_libz" = "xyes"; then
+        AC_DEFINE([HAVE_LIBZ], [1], [Have compression library])
+        WITH_ZLIB=1
+    fi
 fi
 
 AC_SUBST(Z_CFLAGS)
@@ -433,8 +449,6 @@
      # private dependencies, though, so static linking may fail.
      if test "x$have_liblzma" = "xno"; then
          AC_CHECK_HEADERS(lzma.h,
-	    [SAVE_LDFLAGS="${LDFLAGS}"
-	     LDFLAGS="-L${LZMA_DIR}/lib"
             AC_CHECK_LIB(lzma, lzma_code,[
                 have_liblzma=yes
                 if test "x${LZMA_DIR}" != "x"; then
@@ -444,7 +458,7 @@
                     LZMA_LIBS="-llzma"
                 fi],
                 [have_liblzma=no])
-	     LDFLAGS="${SAVE_LDFLAGS}"])
+	     )
     else
 	# we still need to check for lzma,h header
 	AC_CHECK_HEADERS([lzma.h])
@@ -777,7 +791,7 @@
     fi
 
     # warnings we'd like to see
-    CFLAGS="${CFLAGS} -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls"
+    CFLAGS="${CFLAGS} -pedantic -W -Wformat -Wno-format-extra-args -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls"
     # warnings we'd like to supress
     CFLAGS="${CFLAGS} -Wno-long-long"
     case "${host}" in
@@ -996,7 +1010,7 @@
 	fi
     fi
     if test "${GCC}" = "yes" ; then
-    CFLAGS="-g -O -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wall"
+    CFLAGS="-g -O -pedantic -W -Wformat -Wno-format-extra-args -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wall"
     fi
     STATIC_BINARIES="-static"
 dnl -Wcast-qual -ansi
@@ -1479,8 +1493,6 @@
 	*) M_LIBS="-lm"
 	;;
 esac
-XML_LIBS="-lxml2 $Z_LIBS $THREAD_LIBS $ICONV_LIBS $M_LIBS $LIBS"
-XML_LIBTOOLLIBS="libxml2.la"
 AC_SUBST(WITH_ICONV)
 
 WITH_ICU=0
@@ -1488,18 +1500,64 @@
 if test "$with_icu" != "yes" ; then
     echo Disabling ICU support
 else
-    ICU_CONFIG=icu-config
-    if ${ICU_CONFIG} --cflags >/dev/null 2>&1
-    then
-        ICU_LIBS=`${ICU_CONFIG} --ldflags`
+    # 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])
+
+    # 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
+        ICU_CONFIG=icu-config
+        if ${ICU_CONFIG} --cflags >/dev/null 2>&1
+        then
+            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"
+            fi
+
+            AC_CHECK_HEADER(unicode/ucnv.h,
+            AC_MSG_CHECKING(for icu)
+            AC_TRY_LINK([#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_TRY_LINK([#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}"])]))
+        fi
+    fi
+
+    # Found the library via either method?
+    if test "x$have_libicu" = "xyes"; then
         WITH_ICU=1
-        echo Enabling ICU support
-    else
-        AC_MSG_ERROR([libicu config program icu-config not found])
     fi
 fi
+XML_LIBS="-lxml2 $Z_LIBS $LZMA_LIBS $THREAD_LIBS $ICONV_LIBS $ICU_LIBS $M_LIBS $LIBS"
+XML_LIBTOOLLIBS="libxml2.la"
 AC_SUBST(WITH_ICU)
-AC_SUBST(ICU_LIBS)
 
 WITH_ISO8859X=1
 if test "$WITH_ICONV" != "1" ; then
@@ -1638,6 +1696,7 @@
 AC_SUBST(XML_LIBS)
 AC_SUBST(XML_LIBTOOLLIBS)
 AC_SUBST(ICONV_LIBS)
+AC_SUBST(ICU_LIBS)
 AC_SUBST(XML_INCLUDEDIR)
 AC_SUBST(HTML_DIR)
 AC_SUBST(HAVE_ISNAN)
diff --git a/debugXML.c b/debugXML.c
index b05fdff..a1b550a 100644
--- a/debugXML.c
+++ b/debugXML.c
@@ -44,10 +44,10 @@
     int depth;                  /* current depth */
     xmlDocPtr doc;              /* current document */
     xmlNodePtr node;		/* current node */
-    xmlDictPtr dict;		/* the doc dictionnary */
+    xmlDictPtr dict;		/* the doc dictionary */
     int check;                  /* do just checkings */
     int errors;                 /* number of errors found */
-    int nodict;			/* if the document has no dictionnary */
+    int nodict;			/* if the document has no dictionary */
     int options;		/* options */
 };
 
@@ -164,7 +164,7 @@
 		    NULL, NULL, NULL, 0, 0,
 		    "%s", msg);
 }
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
 xmlDebugErr2(xmlDebugCtxtPtr ctxt, int error, const char *msg, int extra)
 {
     ctxt->errors++;
@@ -174,7 +174,7 @@
 		    NULL, NULL, NULL, 0, 0,
 		    msg, extra);
 }
-static void
+static void LIBXML_ATTR_FORMAT(3,0)
 xmlDebugErr3(xmlDebugCtxtPtr ctxt, int error, const char *msg, const char *extra)
 {
     ctxt->errors++;
@@ -243,7 +243,7 @@
  * @ctxt: the debug context
  * @name: the name
  *
- * Do debugging on the name, for example the dictionnary status and
+ * Do debugging on the name, for example the dictionary status and
  * conformance to the Name production.
  */
 static void
@@ -265,7 +265,7 @@
             ((ctxt->doc == NULL) ||
              ((ctxt->doc->parseFlags & (XML_PARSE_SAX1 | XML_PARSE_NODICT)) == 0))) {
 	    xmlDebugErr3(ctxt, XML_CHECK_OUTSIDE_DICT,
-			 "Name is not from the document dictionnary '%s'",
+			 "Name is not from the document dictionary '%s'",
 			 (const char *) name);
 	}
     }
@@ -292,7 +292,7 @@
             /* desactivated right now as it raises too many errors */
 	    if (doc->type == XML_DOCUMENT_NODE)
 		xmlDebugErr(ctxt, XML_CHECK_NO_DICT,
-			    "Document has no dictionnary\n");
+			    "Document has no dictionary\n");
 #endif
 	    ctxt->nodict = 1;
 	}
diff --git a/dict.c b/dict.c
index 8c8f931..c0585fe 100644
--- a/dict.c
+++ b/dict.c
@@ -87,7 +87,7 @@
 #endif /* WITH_BIG_KEY */
 
 /*
- * An entry in the dictionnary
+ * An entry in the dictionary
  */
 typedef struct _xmlDictEntry xmlDictEntry;
 typedef xmlDictEntry *xmlDictEntryPtr;
@@ -110,7 +110,7 @@
     xmlChar array[1];
 };
 /*
- * The entire dictionnary
+ * The entire dictionary
  */
 struct _xmlDict {
     int ref_counter;
@@ -229,7 +229,7 @@
 
 /*
  * xmlDictAddString:
- * @dict: the dictionnary
+ * @dict: the dictionary
  * @name: the name of the userdata
  * @len: the length of the name
  *
@@ -291,7 +291,7 @@
 
 /*
  * xmlDictAddQString:
- * @dict: the dictionnary
+ * @dict: the dictionary
  * @prefix: the prefix of the userdata
  * @plen: the prefix length
  * @name: the name of the userdata
@@ -533,7 +533,7 @@
  *
  * Create a new dictionary
  *
- * Returns the newly created dictionnary, or NULL if an error occured.
+ * Returns the newly created dictionary, or NULL if an error occured.
  */
 xmlDictPtr
 xmlDictCreate(void) {
@@ -573,14 +573,14 @@
 
 /**
  * xmlDictCreateSub:
- * @sub: an existing dictionnary
+ * @sub: an existing dictionary
  *
  * Create a new dictionary, inheriting strings from the read-only
- * dictionnary @sub. On lookup, strings are first searched in the
- * new dictionnary, then in @sub, and if not found are created in the
- * new dictionnary.
+ * 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.
  *
- * Returns the newly created dictionnary, or NULL if an error occured.
+ * Returns the newly created dictionary, or NULL if an error occured.
  */
 xmlDictPtr
 xmlDictCreateSub(xmlDictPtr sub) {
@@ -599,7 +599,7 @@
 
 /**
  * xmlDictReference:
- * @dict: the dictionnary
+ * @dict: the dictionary
  *
  * Increment the reference counter of a dictionary
  *
@@ -620,10 +620,10 @@
 
 /**
  * xmlDictGrow:
- * @dict: the dictionnary
- * @size: the new size of the dictionnary
+ * @dict: the dictionary
+ * @size: the new size of the dictionary
  *
- * resize the dictionnary
+ * resize the dictionary
  *
  * Returns 0 in case of success, -1 in case of failure
  */
@@ -755,7 +755,7 @@
 
 /**
  * xmlDictFree:
- * @dict: the dictionnary
+ * @dict: the dictionary
  *
  * Free the hash @dict and its contents. The userdata is
  * deallocated with @f if provided.
@@ -817,11 +817,11 @@
 
 /**
  * xmlDictLookup:
- * @dict: the dictionnary
+ * @dict: the dictionary
  * @name: the name of the userdata
  * @len: the length of the name, if -1 it is recomputed
  *
- * Add the @name to the dictionnary @dict if not present.
+ * Add the @name to the dictionary @dict if not present.
  *
  * Returns the internal copy of the name or NULL in case of internal error
  */
@@ -957,11 +957,11 @@
 
 /**
  * xmlDictExists:
- * @dict: the dictionnary
+ * @dict: the dictionary
  * @name: the name of the userdata
  * @len: the length of the name, if -1 it is recomputed
  *
- * Check if the @name exists in the dictionnary @dict.
+ * Check if the @name exists in the dictionary @dict.
  *
  * Returns the internal copy of the name or NULL if not found.
  */
@@ -1065,7 +1065,7 @@
 
 /**
  * xmlDictQLookup:
- * @dict: the dictionnary
+ * @dict: the dictionary
  * @prefix: the prefix
  * @name: the name
  *
@@ -1170,7 +1170,7 @@
 
 /**
  * xmlDictOwns:
- * @dict: the dictionnary
+ * @dict: the dictionary
  * @str: the string
  *
  * check if a string is owned by the disctionary
@@ -1197,11 +1197,11 @@
 
 /**
  * xmlDictSize:
- * @dict: the dictionnary
+ * @dict: the dictionary
  *
  * Query the number of elements installed in the hash @dict.
  *
- * Returns the number of elements in the dictionnary or
+ * Returns the number of elements in the dictionary or
  * -1 in case of error
  */
 int
@@ -1215,7 +1215,7 @@
 
 /**
  * xmlDictSetLimit:
- * @dict: the dictionnary
+ * @dict: the dictionary
  * @limit: the limit in bytes
  *
  * Set a size limit for the dictionary
@@ -1236,7 +1236,7 @@
 
 /**
  * xmlDictGetUsage:
- * @dict: the dictionnary
+ * @dict: the dictionary
  *
  * Get how much memory is used by a dictionary for strings
  * Added in 2.9.0
diff --git a/doc/APIchunk13.html b/doc/APIchunk13.html
index b1f069d..dba5952 100644
--- a/doc/APIchunk13.html
+++ b/doc/APIchunk13.html
@@ -383,34 +383,6 @@
 <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>dictionary</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</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#xmlDictGetUsage">xmlDictGetUsage</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-hash.html#xmlHashCreateDict">xmlHashCreateDict</a><br />
-<a href="html/libxml-dict.html#xmlInitializeDict">xmlInitializeDict</a><br />
-<a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</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>dictionnary</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</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#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 />
 </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 />
diff --git a/doc/APIchunk26.html b/doc/APIchunk26.html
index c68ae92..af3b1a5 100644
--- a/doc/APIchunk26.html
+++ b/doc/APIchunk26.html
@@ -143,6 +143,7 @@
 <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 />
diff --git a/doc/APIfunctions.html b/doc/APIfunctions.html
index 9027afe..f9ac249 100644
--- a/doc/APIfunctions.html
+++ b/doc/APIfunctions.html
@@ -368,9 +368,7 @@
 <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#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 />
diff --git a/doc/apibuild.py b/doc/apibuild.py
index b5b669a..7a36466 100755
--- a/doc/apibuild.py
+++ b/doc/apibuild.py
@@ -81,6 +81,7 @@
   "ATTRIBUTE_PRINTF": (5, "macro for gcc printf args checking extension"),
   "LIBXML_ATTR_FORMAT": (5, "macro for gcc printf args checking extension"),
   "LIBXML_ATTR_ALLOC_SIZE": (3, "macro for gcc checking extension"),
+  "__XML_EXTERNC": (0, "Special macro added for os400"),
 }
 
 def escape(raw):
diff --git a/doc/devhelp/general.html b/doc/devhelp/general.html
index 68f9380..90f0d39 100644
--- a/doc/devhelp/general.html
+++ b/doc/devhelp/general.html
@@ -33,6 +33,6 @@
     <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 dictionnary<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 informations<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>
+    <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 informations<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/libxml2-dict.html b/doc/devhelp/libxml2-dict.html
index fd5f6b9..3776c5b 100644
--- a/doc/devhelp/libxml2-dict.html
+++ b/doc/devhelp/libxml2-dict.html
@@ -2,7 +2,7 @@
 <html>
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>dict: string dictionnary</title>
+    <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"/>
@@ -38,7 +38,7 @@
     <h2>
       <span class="refentrytitle">dict</span>
     </h2>
-    <p>dict - string dictionnary</p>
+    <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">
@@ -82,47 +82,47 @@
         <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 dictionnary, or NULL if an error occured.</td></tr></tbody></table></div></div>
+<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 occured.</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 dictionnary @sub. On lookup, strings are first searched in the new dictionnary, then in @sub, and if not found are created in the new dictionnary.</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 dictionnary</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created dictionnary, or NULL if an error occured.</td></tr></tbody></table></div></div>
+</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 occured.</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 dictionnary @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 dictionnary</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>
+</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 dictionnary</td></tr></tbody></table></div></div>
+<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 dictionnary</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>
+<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 dictionnary @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 dictionnary</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>
+</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 disctionary</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 dictionnary</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>
+<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 dictionnary</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>
+<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 dictionnary</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>
+<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 dictionnary</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>
+<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 dictionnary</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the dictionnary or -1 in case of error</td></tr></tbody></table></div></div>
+<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>
diff --git a/doc/devhelp/libxml2-parser.html b/doc/devhelp/libxml2-parser.html
index 357c14a..c740554 100644
--- a/doc/devhelp/libxml2-parser.html
+++ b/doc/devhelp/libxml2-parser.html
@@ -300,7 +300,7 @@
     <a name="XML_PARSE_SAX1">XML_PARSE_SAX1</a> = 512 /* use the SAX1 interface internally */
     <a name="XML_PARSE_XINCLUDE">XML_PARSE_XINCLUDE</a> = 1024 /* Implement XInclude substitition */
     <a name="XML_PARSE_NONET">XML_PARSE_NONET</a> = 2048 /* Forbid network access */
-    <a name="XML_PARSE_NODICT">XML_PARSE_NODICT</a> = 4096 /* Do not reuse the context dictionnary */
+    <a name="XML_PARSE_NODICT">XML_PARSE_NODICT</a> = 4096 /* Do not reuse the context dictionary */
     <a name="XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a> = 8192 /* remove redundant namespaces declarations */
     <a name="XML_PARSE_NOCDATA">XML_PARSE_NOCDATA</a> = 16384 /* merge CDATA as text nodes */
     <a name="XML_PARSE_NOXINCNODE">XML_PARSE_NOXINCNODE</a> = 32768 /* do not generate XINCLUDE START/END nodes */
diff --git a/doc/devhelp/libxml2-tree.html b/doc/devhelp/libxml2-tree.html
index 5f8d1f2..ac85d60 100644
--- a/doc/devhelp/libxml2-tree.html
+++ b/doc/devhelp/libxml2-tree.html
@@ -782,7 +782,7 @@
     void *	catalogs	: document's own catalog
     int	recovery	: run in recovery mode
     int	progressive	: is this a progressive parsing
-    <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	dict	: dictionnary for the parser
+    <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	dict	: dictionary for the parser
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * *	atts	: array for the attributes callbacks
     int	maxatts	: the size of the array
     int	docdict	: * pre-interned strings *
diff --git a/doc/devhelp/libxml2-xmlmemory.html b/doc/devhelp/libxml2-xmlmemory.html
index 8610538..bf400d0 100644
--- a/doc/devhelp/libxml2-xmlmemory.html
+++ b/doc/devhelp/libxml2-xmlmemory.html
@@ -118,7 +118,7 @@
         <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 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>
+<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>
diff --git a/doc/devhelp/libxml2-xmlregexp.html b/doc/devhelp/libxml2-xmlregexp.html
index 9427a34..8d5c80e 100644
--- a/doc/devhelp/libxml2-xmlregexp.html
+++ b/doc/devhelp/libxml2-xmlregexp.html
@@ -200,7 +200,7 @@
         <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 dictionnary 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>
+<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>
diff --git a/doc/devhelp/libxml2-xmlstring.html b/doc/devhelp/libxml2-xmlstring.html
index 6dfc70b..ca90ed4 100644
--- a/doc/devhelp/libxml2-xmlstring.html
+++ b/doc/devhelp/libxml2-xmlstring.html
@@ -49,7 +49,7 @@
 <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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * msg, <br/>					 ... ...);
+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);
@@ -65,7 +65,7 @@
 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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * msg, <br/>					 va_list ap);
+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);
 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);
@@ -111,7 +111,7 @@
 </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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * msg, <br/>					 ... ...)<br/>
+        <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/>
@@ -119,7 +119,7 @@
 </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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * msg, <br/>					 va_list ap)<br/>
+        <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/>
diff --git a/doc/docdescr.doc b/doc/docdescr.doc
index 427a1ff..3fec94a 100644
--- a/doc/docdescr.doc
+++ b/doc/docdescr.doc
@@ -29,7 +29,7 @@
 w3c.png                                    -
 
 apibuild.py        Python script which generates the file libxml2-api.xml
-parsedecl.py       Python secipt which generates the file libxml2-refs.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
diff --git a/doc/examples/io1.res b/doc/examples/io1.res
index adf65c7..4a4c036 100644
--- a/doc/examples/io1.res
+++ b/doc/examples/io1.res
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
 <document xmlns:xi="http://www.w3.org/2003/XInclude">
   <p>List of people:</p>
-  <list xml:base="sql://select_name_from_people"><people>a</people><people>b</people></list>
+  <list><people>a</people><people>b</people></list>
 </document>
diff --git a/doc/html/book1.html b/doc/html/book1.html
index 1a58210..42d71a6 100644
--- a/doc/html/book1.html
+++ b/doc/html/book1.html
@@ -10,4 +10,4 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#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="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="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string dictionnary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the library</li><li><a href="libxml-hash.html">hash</a>: Chained hash tables</li><li><a href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP implementation</li><li><a href="libxml-parser.html">parser</a>: the core parser module</li><li><a href="libxml-parserInternals.html">parserInternals</a>: internals routines 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 informations</li><li><a href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
+    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://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="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string 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 informations</li><li><a href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/index.html b/doc/html/index.html
index 1a58210..42d71a6 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -10,4 +10,4 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#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="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="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string dictionnary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the library</li><li><a href="libxml-hash.html">hash</a>: Chained hash tables</li><li><a href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP implementation</li><li><a href="libxml-parser.html">parser</a>: the core parser module</li><li><a href="libxml-parserInternals.html">parserInternals</a>: internals routines 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 informations</li><li><a href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
+    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://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="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string 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 informations</li><li><a href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-dict.html b/doc/html/libxml-dict.html
index bdd21f4..74e243b 100644
--- a/doc/html/libxml-dict.html
+++ b/doc/html/libxml-dict.html
@@ -33,26 +33,26 @@
 </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 dictionnary, or NULL if an error occured.</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 dictionnary @sub. On lookup, strings are first searched in the new dictionnary, then in @sub, and if not found are created in the new dictionnary.</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 dictionnary</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created dictionnary, or NULL if an error occured.</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 dictionnary @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 dictionnary</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 />
+<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 occured.</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 occured.</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 dictionnary</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 />
+<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 dictionnary</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 dictionnary @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 dictionnary</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 />
+<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 disctionary</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 dictionnary</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 />
+<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 dictionnary</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 />
+<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 dictionnary</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 />
+<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 dictionnary</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 />
+<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 dictionnary</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the dictionnary 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 />
+<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-lib.html b/doc/html/libxml-lib.html
index 1a58210..42d71a6 100644
--- a/doc/html/libxml-lib.html
+++ b/doc/html/libxml-lib.html
@@ -10,4 +10,4 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#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="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="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string dictionnary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the library</li><li><a href="libxml-hash.html">hash</a>: Chained hash tables</li><li><a href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP implementation</li><li><a href="libxml-parser.html">parser</a>: the core parser module</li><li><a href="libxml-parserInternals.html">parserInternals</a>: internals routines 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 informations</li><li><a href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
+    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://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="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string 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 informations</li><li><a href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-parser.html b/doc/html/libxml-parser.html
index 98123f7..4d890c6 100644
--- a/doc/html/libxml-parser.html
+++ b/doc/html/libxml-parser.html
@@ -279,7 +279,7 @@
     <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 substitition
     <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 dictionnary
+    <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
diff --git a/doc/html/libxml-tree.html b/doc/html/libxml-tree.html
index d1d005f..d95872d 100644
--- a/doc/html/libxml-tree.html
+++ b/doc/html/libxml-tree.html
@@ -555,7 +555,7 @@
     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	: dictionnary for the parser
+    <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 *
diff --git a/doc/html/libxml-xmlmemory.html b/doc/html/libxml-xmlmemory.html
index d653775..3406e09 100644
--- a/doc/html/libxml-xmlmemory.html
+++ b/doc/html/libxml-xmlmemory.html
@@ -65,7 +65,7 @@
 </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 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
+<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 />
diff --git a/doc/html/libxml-xmlregexp.html b/doc/html/libxml-xmlregexp.html
index 8dda699..564f65e 100644
--- a/doc/html/libxml-xmlregexp.html
+++ b/doc/html/libxml-xmlregexp.html
@@ -101,7 +101,7 @@
 </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 dictionnary 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 />
+<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>
diff --git a/doc/html/libxml-xmlstring.html b/doc/html/libxml-xmlstring.html
index 4f12cc7..89e9809 100644
--- a/doc/html/libxml-xmlstring.html
+++ b/doc/html/libxml-xmlstring.html
@@ -16,9 +16,9 @@
 <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 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * msg, <br />					 ... ...)</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 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * msg, <br />					 va_list ap)</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>
@@ -55,11 +55,11 @@
 </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 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * msg, <br />					 ... ...)<br />
+<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 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * msg, <br />					 va_list ap)<br />
+<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>
diff --git a/doc/index.py b/doc/index.py
index 578f288..1895d84 100755
--- a/doc/index.py
+++ b/doc/index.py
@@ -49,7 +49,7 @@
 libxml2.registerErrorHandler(callback, None)
 
 #
-# The dictionnary of tables required and the SQL command needed
+# The dictionary of tables required and the SQL command needed
 # to create them
 #
 TABLES={
@@ -438,12 +438,12 @@
 	    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 dictionnary and analysis routines		#
+#                  Word dictionary and analysis routines		#
 #									#
 #########################################################################
 
diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml
index 5573f0c..a0a0117 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -367,7 +367,7 @@
      <exports symbol='xmlShell' type='function'/>
     </file>
     <file name='dict'>
-     <summary>string dictionnary</summary>
+     <summary>string dictionary</summary>
      <description>dictionary of reusable strings, just used to avoid allocation and freeing operations. </description>
      <author>Daniel Veillard </author>
      <exports symbol='xmlDict' type='typedef'/>
@@ -5142,7 +5142,7 @@
     <enum name='XML_PARSE_NOBASEFIX' file='parser' value='262144' type='xmlParserOption' info='do not fixup XINCLUDE xml:base uris'/>
     <enum name='XML_PARSE_NOBLANKS' file='parser' value='256' type='xmlParserOption' info='remove blank nodes'/>
     <enum name='XML_PARSE_NOCDATA' file='parser' value='16384' type='xmlParserOption' info='merge CDATA as text nodes'/>
-    <enum name='XML_PARSE_NODICT' file='parser' value='4096' type='xmlParserOption' info='Do not reuse the context dictionnary'/>
+    <enum name='XML_PARSE_NODICT' file='parser' value='4096' type='xmlParserOption' info='Do not reuse the context dictionary'/>
     <enum name='XML_PARSE_NOENT' file='parser' value='2' type='xmlParserOption' info='substitute entities'/>
     <enum name='XML_PARSE_NOERROR' file='parser' value='32' type='xmlParserOption' info='suppress error reports'/>
     <enum name='XML_PARSE_NONET' file='parser' value='2048' type='xmlParserOption' info='Forbid network access'/>
@@ -6410,7 +6410,7 @@
       <field name='catalogs' type='void *' info=' document&apos;s own catalog'/>
       <field name='recovery' type='int' info=' run in recovery mode'/>
       <field name='progressive' type='int' info=' is this a progressive parsing'/>
-      <field name='dict' type='xmlDictPtr' info=' dictionnary for the parser'/>
+      <field name='dict' type='xmlDictPtr' info=' dictionary for the parser'/>
       <field name='atts' type='const xmlChar * *' info=' array for the attributes callbacks'/>
       <field name='maxatts' type='int' info=' the size of the array'/>
       <field name='docdict' type='int' info='* pre-interned strings
@@ -9504,65 +9504,65 @@
     </function>
     <function name='xmlDictCreate' file='dict' module='dict'>
       <info>Create a new dictionary</info>
-      <return type='xmlDictPtr' info='the newly created dictionnary, or NULL if an error occured.'/>
+      <return type='xmlDictPtr' info='the newly created dictionary, or NULL if an error occured.'/>
     </function>
     <function name='xmlDictCreateSub' file='dict' module='dict'>
-      <info>Create a new dictionary, inheriting strings from the read-only dictionnary @sub. On lookup, strings are first searched in the new dictionnary, then in @sub, and if not found are created in the new dictionnary.</info>
-      <return type='xmlDictPtr' info='the newly created dictionnary, or NULL if an error occured.'/>
-      <arg name='sub' type='xmlDictPtr' info='an existing dictionnary'/>
+      <info>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.</info>
+      <return type='xmlDictPtr' info='the newly created dictionary, or NULL if an error occured.'/>
+      <arg name='sub' type='xmlDictPtr' info='an existing dictionary'/>
     </function>
     <function name='xmlDictExists' file='dict' module='dict'>
-      <info>Check if the @name exists in the dictionnary @dict.</info>
+      <info>Check if the @name exists in the dictionary @dict.</info>
       <return type='const xmlChar *' info='the internal copy of the name or NULL if not found.'/>
-      <arg name='dict' type='xmlDictPtr' info='the dictionnary'/>
+      <arg name='dict' type='xmlDictPtr' info='the dictionary'/>
       <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
       <arg name='len' type='int' info='the length of the name, if -1 it is recomputed'/>
     </function>
     <function name='xmlDictFree' file='dict' module='dict'>
       <info>Free the hash @dict and its contents. The userdata is deallocated with @f if provided.</info>
       <return type='void'/>
-      <arg name='dict' type='xmlDictPtr' info='the dictionnary'/>
+      <arg name='dict' type='xmlDictPtr' info='the dictionary'/>
     </function>
     <function name='xmlDictGetUsage' file='dict' module='dict'>
       <info>Get how much memory is used by a dictionary for strings Added in 2.9.0</info>
       <return type='size_t' info='the amount of strings allocated'/>
-      <arg name='dict' type='xmlDictPtr' info='the dictionnary'/>
+      <arg name='dict' type='xmlDictPtr' info='the dictionary'/>
     </function>
     <function name='xmlDictLookup' file='dict' module='dict'>
-      <info>Add the @name to the dictionnary @dict if not present.</info>
+      <info>Add the @name to the dictionary @dict if not present.</info>
       <return type='const xmlChar *' info='the internal copy of the name or NULL in case of internal error'/>
-      <arg name='dict' type='xmlDictPtr' info='the dictionnary'/>
+      <arg name='dict' type='xmlDictPtr' info='the dictionary'/>
       <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
       <arg name='len' type='int' info='the length of the name, if -1 it is recomputed'/>
     </function>
     <function name='xmlDictOwns' file='dict' module='dict'>
       <info>check if a string is owned by the disctionary</info>
       <return type='int' info='1 if true, 0 if false and -1 in case of error -1 in case of error'/>
-      <arg name='dict' type='xmlDictPtr' info='the dictionnary'/>
+      <arg name='dict' type='xmlDictPtr' info='the dictionary'/>
       <arg name='str' type='const xmlChar *' info='the string'/>
     </function>
     <function name='xmlDictQLookup' file='dict' module='dict'>
       <info>Add the QName @prefix:@name to the hash @dict if not present.</info>
       <return type='const xmlChar *' info='the internal copy of the QName or NULL in case of internal error'/>
-      <arg name='dict' type='xmlDictPtr' info='the dictionnary'/>
+      <arg name='dict' type='xmlDictPtr' info='the dictionary'/>
       <arg name='prefix' type='const xmlChar *' info='the prefix'/>
       <arg name='name' type='const xmlChar *' info='the name'/>
     </function>
     <function name='xmlDictReference' file='dict' module='dict'>
       <info>Increment the reference counter of a dictionary</info>
       <return type='int' info='0 in case of success and -1 in case of error'/>
-      <arg name='dict' type='xmlDictPtr' info='the dictionnary'/>
+      <arg name='dict' type='xmlDictPtr' info='the dictionary'/>
     </function>
     <function name='xmlDictSetLimit' file='dict' module='dict'>
       <info>Set a size limit for the dictionary Added in 2.9.0</info>
       <return type='size_t' info='the previous limit of the dictionary or 0'/>
-      <arg name='dict' type='xmlDictPtr' info='the dictionnary'/>
+      <arg name='dict' type='xmlDictPtr' info='the dictionary'/>
       <arg name='limit' type='size_t' info='the limit in bytes'/>
     </function>
     <function name='xmlDictSize' file='dict' module='dict'>
       <info>Query the number of elements installed in the hash @dict.</info>
-      <return type='int' info='the number of elements in the dictionnary or -1 in case of error'/>
-      <arg name='dict' type='xmlDictPtr' info='the dictionnary'/>
+      <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>
@@ -9827,7 +9827,7 @@
       <info>Creates a new context for manipulating expressions</info>
       <return type='xmlExpCtxtPtr' info='the context or NULL in case of error'/>
       <arg name='maxNodes' type='int' info='the maximum number of nodes'/>
-      <arg name='dict' type='xmlDictPtr' info='optional dictionnary to use internally'/>
+      <arg name='dict' type='xmlDictPtr' info='optional dictionary to use internally'/>
     </function>
     <function name='xmlExpNewOr' file='xmlregexp' module='xmlregexp'>
       <cond>defined(LIBXML_REGEXP_ENABLED) &amp;&amp; defined(LIBXML_EXPR_ENABLED)</cond>
@@ -10985,7 +10985,7 @@
     <function name='xmlMallocAtomicLoc' file='xmlmemory' module='xmlmemory'>
       <info>a malloc() equivalent, with logging of the allocation info.</info>
       <return type='void *' info='a pointer to the allocated area or NULL in case of lack of memory.'/>
-      <arg name='size' type='size_t' info='an int specifying the size in byte to allocate.'/>
+      <arg name='size' type='size_t' info='an unsigned int specifying the size in byte to allocate.'/>
       <arg name='file' type='const char *' info='the file name or NULL'/>
       <arg name='line' type='int' info='the line number'/>
     </function>
@@ -14487,7 +14487,7 @@
       <return type='int' info='the number of characters written to @buf or -1 if an error occurs.'/>
       <arg name='buf' type='xmlChar *' info='the result buffer.'/>
       <arg name='len' type='int' info='the result buffer length.'/>
-      <arg name='msg' type='const xmlChar *' info='the message with printf formatting.'/>
+      <arg name='msg' type='const char *' info='the message with printf formatting.'/>
       <arg name='...' type='...' info='extra parameters for the message.'/>
     </function>
     <function name='xmlStrQEqual' file='xmlstring' module='xmlstring'>
@@ -14502,7 +14502,7 @@
       <return type='int' info='the number of characters written to @buf or -1 if an error occurs.'/>
       <arg name='buf' type='xmlChar *' info='the result buffer.'/>
       <arg name='len' type='int' info='the result buffer length.'/>
-      <arg name='msg' type='const xmlChar *' info='the message with printf formatting.'/>
+      <arg name='msg' type='const char *' info='the message with printf formatting.'/>
       <arg name='ap' type='va_list' info='extra parameters for the message.'/>
     </function>
     <function name='xmlStrcasecmp' file='xmlstring' module='xmlstring'>
diff --git a/doc/libxml2-refs.xml b/doc/libxml2-refs.xml
index 7158609..6dce37f 100644
--- a/doc/libxml2-refs.xml
+++ b/doc/libxml2-refs.xml
@@ -8406,9 +8406,7 @@
       <ref name='xmlSplitQName2'/>
       <ref name='xmlSplitQName3'/>
       <ref name='xmlStrEqual'/>
-      <ref name='xmlStrPrintf'/>
       <ref name='xmlStrQEqual'/>
-      <ref name='xmlStrVPrintf'/>
       <ref name='xmlStrcasecmp'/>
       <ref name='xmlStrcasestr'/>
       <ref name='xmlStrcat'/>
@@ -21822,38 +21820,6 @@
         <word name='dictionaries'>
           <ref name='XML_MAX_NAME_LENGTH'/>
         </word>
-        <word name='dictionary'>
-          <ref name='XML_MAX_DICTIONARY_LIMIT'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='_xmlXPathContext'/>
-          <ref name='xmlDictCleanup'/>
-          <ref name='xmlDictCreate'/>
-          <ref name='xmlDictCreateSub'/>
-          <ref name='xmlDictGetUsage'/>
-          <ref name='xmlDictReference'/>
-          <ref name='xmlDictSetLimit'/>
-          <ref name='xmlHashCreateDict'/>
-          <ref name='xmlInitializeDict'/>
-          <ref name='xmlPatterncompile'/>
-          <ref name='xmlStreamPush'/>
-          <ref name='xmlStreamPushAttr'/>
-          <ref name='xmlStreamPushNode'/>
-        </word>
-        <word name='dictionnary'>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='xmlDictCreate'/>
-          <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'/>
-        </word>
         <word name='did'>
           <ref name='XML_SCHEMAS_TYPE_BLOCK_DEFAULT'/>
           <ref name='xmlTextReaderGetRemainder'/>
@@ -30381,6 +30347,7 @@
         </word>
         <word name='unsigned'>
           <ref name='c'/>
+          <ref name='xmlMallocAtomicLoc'/>
           <ref name='xmlURIUnescapeString'/>
         </word>
         <word name='unsupported'>
diff --git a/doc/libxml2.xsa b/doc/libxml2.xsa
index 0825d53..0d4b8fe 100644
--- a/doc/libxml2.xsa
+++ b/doc/libxml2.xsa
@@ -8,182 +8,73 @@
   </vendor>
   <product id="libxml2">
     <name>libxml2</name>
-    <version>2.9.2</version>
-    <last-release> Oct 16 2014</last-release>
+    <version>v2.9.3</version>
+    <last-release> Nov 20 2015</last-release>
     <info-url>http://xmlsoft.org/</info-url>
     <changes>   - Security:
-  Fix for CVE-2014-3660 billion laugh variant (Daniel Veillard),
-  CVE-2014-0191 Do not fetch external parameter entities (Daniel Veillard)
-  
-   - Bug Fixes:
-  fix memory leak xml header encoding field with XML_PARSE_IGNORE_ENC (Bart De Schuymer),
-  xmlmemory: handle realloc properly (Yegor Yefremov),
-  Python generator bug raised by the const change (Daniel Veillard),
-  Windows Critical sections not released correctly (Daniel Veillard),
-  Parser error on repeated recursive entity expansion containing &amp;lt; (Daniel Veillard),
-  xpointer : fixing Null Pointers (Gaurav Gupta),
-  Remove Unnecessary Null check in xpointer.c (Gaurav Gupta),
-  parser bug on misformed namespace attributes (Dennis Filder),
-  Pointer dereferenced before null check (Daniel Veillard),
-  Leak of struct addrinfo in xmlNanoFTPConnect() (Gaurav Gupta),
-  Possible overflow in HTMLParser.c (Daniel Veillard),
-  python/tests/sync.py assumes Python dictionaries are ordered (John Beck),
-  Fix Enum check and missing break (Gaurav Gupta),
-  xmlIO: Handle error returns from dup() (Philip Withnall),
-  Fix a problem properly saving URIs (Daniel Veillard),
-  wrong error column in structured error when parsing attribute values (Juergen Keil),
-  wrong error column in structured error when skipping whitespace in xml decl (Juergen Keil),
-  no error column in structured error handler for xml schema validation errors (Juergen Keil),
-  Couple of Missing Null checks (Gaurav Gupta),
-  Add couple of missing Null checks (Daniel Veillard),
-  xmlschemastypes: Fix potential array overflow (Philip Withnall),
-  runtest: Fix a memory leak on parse failure (Philip Withnall),
-  xmlIO: Fix an FD leak on gzdopen() failure (Philip Withnall),
-  xmlcatalog: Fix a memory leak on quit (Philip Withnall),
-  HTMLparser: Correctly initialise a stack allocated structure (Philip Withnall),
-  Check for tmon in _xmlSchemaDateAdd() is incorrect (David Kilzer),
-  Avoid Possible Null Pointer in trio.c (Gaurav Gupta),
-  Fix processing in SAX2 in case of an allocation failure (Daniel Veillard),
-  XML Shell command "cd" does not handle "/" at end of path (Daniel Veillard),
-  Fix various Missing Null checks (Gaurav Gupta),
-  Fix a potential NULL dereference (Daniel Veillard),
-  Add a couple of misisng check in xmlRelaxNGCleanupTree (Gaurav Gupta),
-  Add a missing argument check (Gaurav Gupta),
-  Adding a check in case of allocation error (Gaurav Gupta),
-  xmlSaveUri() incorrectly recomposes URIs with rootless paths (Dennis Filder),
-  Adding some missing NULL checks (Gaurav),
-  Fixes for xmlInitParserCtxt (Daniel Veillard),
-  Fix regressions introduced by CVE-2014-0191 patch (Daniel Veillard),
-  erroneously ignores a validation error if no error callback set (Daniel Veillard),
-  xmllint was not parsing the --c14n11 flag (Sérgio Batista),
-  Avoid Possible null pointer dereference in memory debug mode (Gaurav),
-  Avoid Double Null Check (Gaurav),
-  Restore context size and position after XPATH_OP_ARG (Nick Wellnhofer),
-  Fix xmlParseInNodeContext() if node is not element (Daniel Veillard),
-  Avoid a possible NULL pointer dereference (Gaurav),
-  Fix xmlTextWriterWriteElement when a null content is given (Daniel Veillard),
-  Fix an typo 'onrest' in htmlScriptAttributes (Daniel Veillard),
-  fixing a ptotential uninitialized access (Daniel Veillard),
-  Fix an fd leak in an error case (Daniel Veillard),
-  Missing initialization for the catalog module (Daniel Veillard),
-  Handling of XPath function arguments in error case (Nick Wellnhofer),
-  Fix a couple of missing NULL checks (Gaurav),
-  Avoid a possibility of dangling encoding handler (Gaurav),
-  Fix HTML push parser to accept HTML_PARSE_NODEFDTD (Arnold Hendriks),
-  Fix a bug loading some compressed files (Mike Alexander),
-  Fix XPath node comparison bug (Gaurav),
-  Type mismatch in xmlschemas.c (Gaurav),
-  Type mismatch in xmlschemastypes.c (Gaurav),
-  Avoid a deadcode in catalog.c (Daniel Veillard),
-  run close socket on Solaris, same as we do on other platforms (Denis Pauk),
-  Fix pointer dereferenced before null check (Gaurav),
-  Fix a potential NULL dereference in tree code (Daniel Veillard),
-  Fix potential NULL pointer dereferences in regexp code (Gaurav),
-  xmllint --pretty crashed without following numeric argument (Tim Galeckas),
-  Fix XPath expressions of the form '@ns:*' (Nick Wellnhofer),
-  Fix XPath '//' optimization with predicates (Nick Wellnhofer),
-  Clear up a potential NULL dereference (Daniel Veillard),
-  Fix a possible NULL dereference (Gaurav),
-  Avoid crash if allocation fails (Daniel Veillard),
-  Remove occasional leading space in XPath number formatting (Daniel Veillard),
-  Fix handling of mmap errors (Daniel Veillard),
-  Catch malloc error and exit accordingly (Daniel Veillard),
-  missing else in xlink.c (Ami Fischman),
-  Fix a parsing bug on non-ascii element and CR/LF usage (Daniel Veillard),
-  Fix a regression in xmlGetDocCompressMode() (Daniel Veillard),
-  properly quote the namespace uris written out during c14n (Aleksey Sanin),
-  Remove premature XInclude check on URI being relative (Alexey Neyman),
-  Fix missing break on last() function for attributes (dcb),
-  Do not URI escape in server side includes (Romain Bondue),
-  Fix an error in xmlCleanupParser (Alexander Pastukhov)
+  CVE-2015-8242 Buffer overead with HTML parser in push mode (Hugh Davenport),
+  CVE-2015-7500 Fix memory access error due to incorrect entities boundaries (Daniel Veillard),
+  CVE-2015-7499-2 Detect incoherency on GROW (Daniel Veillard),
+  CVE-2015-7499-1 Add xmlHaltParser() to stop the parser (Daniel Veillard),
+  CVE-2015-5312 Another entity expansion issue (David Drysdale),
+  CVE-2015-7497 Avoid an heap buffer overflow in xmlDictComputeFastQKey (David Drysdale),
+  CVE-2015-7498 Avoid processing entities after encoding conversion failures (Daniel Veillard),
+  CVE-2015-8035 Fix XZ compression support loop (Daniel Veillard),
+  CVE-2015-7942-2 Fix an error in previous Conditional section patch (Daniel Veillard),
+  CVE-2015-7942 Another variation of overflow in Conditional sections (Daniel Veillard),
+  CVE-2015-1819 Enforce the reader to run in constant memory (Daniel Veillard)
+  CVE-2015-7941_2 Cleanup conditional section error handling (Daniel Veillard),
+  CVE-2015-7941_1 Stop parsing on entities boundaries errors (Daniel Veillard),
   
    - Documentation:
-  typo in error messages "colon are forbidden from..." (Daniel Veillard),
-  Fix a link to James SAX documentation old page (Daniel Veillard),
-  Fix typos in relaxng.c (Jan Pokorný),
-  Fix a doc typo (Daniel Veillard),
-  Fix typos in {tree,xpath}.c (errror) (Jan Pokorný),
-  Add limitations about encoding conversion (Daniel Veillard),
-  Fix typos in xmlschemas{,types}.c (Jan Pokorný),
-  Fix incorrect spelling entites-&gt;entities (Jan Pokorný),
-  Forgot to document 2.9.1 release, regenerate docs (Daniel Veillard)
+  Correct spelling of "calling" (Alex Henrie),
+  Fix a small error in xmllint --format description (Fabien Degomme),
+  Avoid XSS on the search of xmlsoft.org (Daniel Veillard)
   
    - Portability:
-  AC_CONFIG_FILES and executable bit (Roumen Petrov),
-  remove HAVE_CONFIG_H dependency in testlimits.c (Roumen Petrov),
-  fix some tabs mixing incompatible with python3 (Roumen Petrov),
-  Visual Studio 14 CTP defines snprintf() (Francis Dupont),
-  OS400: do not try to copy unexisting doc files (Patrick Monnerat),
-  OS400: use either configure.ac or configure.in. (Patrick Monnerat),
-  os400: make-src.sh: create physical file with target CCSID (Patrick Monnerat),
-  OS400: Add some more C macros equivalent procedures. (Patrick Monnerat),
-  OS400: use C macros to implement equivalent RPG support procedures. (Patrick Monnerat),
-  OS400: implement XPath macros as procedures for ILE/RPG support. (Patrick Monnerat),
-  OS400: include in distribution tarball. (Patrick Monnerat),
-  OS400: Add README: compilation directives and OS/400 specific stuff. (Patrick Monnerat),
-  OS400: Add compilation scripts. (Patrick Monnerat),
-  OS400: ILE RPG language header files. (Patrick Monnerat),
-  OS400: implement some macros as functions for ILE/RPG language support (that as no macros). (Patrick Monnerat),
-  OS400: UTF8&lt;--&gt;EBCDIC wrappers for system and external library calls (Patrick Monnerat),
-  OS400: Easy character transcoding support (Patrick Monnerat),
-  OS400: iconv functions compatibility wrappers and table builder. (Patrick Monnerat),
-  OS400: create architecture directory. Implement dlfcn emulation. (Patrick Monnerat),
-  Fix building when configuring without xpath and xptr (Daniel Veillard),
-  configure: Add --with-python-install-dir (Jonas Eriksson),
-  Fix compilation with minimum and xinclude. (Nicolas Le Cam),
-  Compile out use of xmlValidateNCName() when not available. (Nicolas Le Cam),
-  Fix compilation with minimum and schematron. (Nicolas Le Cam),
-  Legacy needs xmlSAX2StartElement() and xmlSAX2EndElement(). (Nicolas Le Cam),
-  Don't use xmlValidateName() when not available. (Nicolas Le Cam),
-  Fix a portability issue on Windows (Longstreth Jon),
-  Various portability patches for OpenVMS (Jacob (Jouk) Jansen),
-  Use specific macros for portability to OS/400 (Patrick Monnerat),
-  Add macros needed for OS/400 portability (Patrick Monnerat),
-  Portability patch for fopen on OS/400 (Patrick Monnerat),
-  Portability fixes for OS/400 (Patrick Monnerat),
-  Improve va_list portability (Patrick Monnerat),
-  Portability fix (Patrick Monnerat),
-  Portability fix (Patrick Monnerat),
-  Generic portability fix (Patrick Monnerat),
-  Shortening lines in headers (Patrick Monnerat),
-  build: Use pkg-config to find liblzma in preference to AC_CHECK_LIB (Philip Withnall),
-  build: Add @LZMA_LIBS@ to libxml’s pkg-config files (Philip Withnall),
-  fix some tabs mixing incompatible with python3 (Daniel Veillard),
-  add additional defines checks for support "./configure --with-minimum" (Denis Pauk),
-  Another round of fixes for older versions of Python (Arfrever Frehtes Taifersar Arahesis),
-  python: fix drv_libxml2.py for python3 compatibility (Alexandre Rostovtsev),
-  python: Fix compiler warnings when building python3 bindings (Armin K),
-  Fix for compilation with python 2.6.8 (Petr Sumbera)
+  threads: use forward declarations only for glibc (Michael Heimpold),
+  Update Win32 configure.js to search for configure.ac (Daniel Veillard)
+  
+   - Bug Fixes:
+  Bug on creating new stream from entity (Daniel Veillard),
+  Fix some loop issues embedding NEXT (Daniel Veillard),
+  Do not print error context when there is none (Daniel Veillard),
+  Avoid extra processing of MarkupDecl when EOF (Hugh Davenport),
+  Fix parsing short unclosed comment uninitialized access (Daniel Veillard),
+  Add missing Null check in xmlParseExternalEntityPrivate (Gaurav Gupta),
+  Fix a bug in CData error handling in the push parser (Daniel Veillard),
+  Fix a bug on name parsing at the end of current input buffer (Daniel Veillard),
+  Fix the spurious ID already defined error (Daniel Veillard),
+  Fix previous change to node sort order (Nick Wellnhofer),
+  Fix a self assignment issue raised by clang (Scott Graham),
+  Fail parsing early on if encoding conversion failed (Daniel Veillard),
+  Do not process encoding values if the declaration if broken (Daniel Veillard),
+  Silence clang's -Wunknown-attribute (Michael Catanzaro),
+  xmlMemUsed is not thread-safe (Martin von Gagern),
+  Fix support for except in nameclasses (Daniel Veillard),
+  Fix order of root nodes (Nick Wellnhofer),
+  Allow attributes on descendant-or-self axis (Nick Wellnhofer),
+  Fix the fix to Windows locking (Steve Nairn),
+  Fix timsort invariant loop re: Envisage article (Christopher Swenson),
+  Don't add IDs in xmlSetTreeDoc (Nick Wellnhofer),
+  Account for ID attributes in xmlSetTreeDoc (Nick Wellnhofer),
+  Remove various unused value assignments (Philip Withnall),
+  Fix missing entities after CVE-2014-3660 fix (Daniel Veillard),
+  Revert "Missing initialization for the catalog module" (Daniel Veillard)
   
    - Improvements:
-  win32/libxml2.def.src after rebuild in doc (Roumen Petrov),
-  elfgcchack.h: more legacy needs xmlSAX2StartElement() and xmlSAX2EndElement() (Roumen Petrov),
-  elfgcchack.h: add xmlXPathNodeEval and xmlXPathSetContextNode (Roumen Petrov),
-  Provide cmake module (Samuel Martin),
-  Fix a couple of issues raised by make dist (Daniel Veillard),
-  Fix and add const qualifiers (Kurt Roeckx),
-  Preparing for upcoming release of 2.9.2 (Daniel Veillard),
-  Fix zlib and lzma libraries check via command line (Dmitriy),
-  wrong error column in structured error when parsing end tag (Juergen Keil),
-  doc/news.html: small update to avoid line join while generating NEWS. (Patrick Monnerat),
-  Add methods for python3 iterator (Ron Angeles),
-  Support element node traversal in document fragments. (Kyle VanderBeek),
-  xmlNodeSetName: Allow setting the name to a substring of the currently set name (Tristan Van Berkom),
-  Added macros for argument casts (Eric Zurcher),
-  adding init calls to xml and html Read parsing entry points (Daniel Veillard),
-  Get rid of 'REPLACEMENT CHARACTER' Unicode chars in xmlschemas.c (Jan Pokorný),
-  Implement choice for name classes on attributes (Shaun McCance),
-  Two small namespace tweaks (Daniel Veillard),
-  xmllint --memory should fail on empty files (Daniel Veillard),
-  Cast encoding name to char pointer to match arg type (Nikolay Sivov)
+  Reuse xmlHaltParser() where it makes sense (Daniel Veillard),
+  xmlStopParser reset errNo (Daniel Veillard),
+  Reenable xz support by default (Daniel Veillard),
+  Recover unescaped less-than character in HTML recovery parsing (Daniel Veillard),
+  Allow HTML serializer to output HTML5 DOCTYPE (Shaun McCance),
+  Regression test for bug #695699 (Nick Wellnhofer),
+  Add a couple of XPath tests (Nick Wellnhofer),
+  Add Python 3 rpm subpackage (Tomas Radej),
+  libxml2-config.cmake.in: update include directories (Samuel Martin),
+  Adding example from bugs 738805 to regression tests (Daniel Veillard)
   
    - Cleanups:
-  Removal of old configure.in (Daniel Veillard),
-  Unreachable code in tree.c (Gaurav Gupta),
-  Remove a couple of dead conditions (Gaurav Gupta),
-  Avoid some dead code and cleanup in relaxng.c (Gaurav),
-  Drop not needed checks (Denis Pauk),
-  Fix a wrong test (Daniel Veillard)
   
 
 </changes>
diff --git a/doc/news.html b/doc/news.html
index e76ef55..0c692c8 100644
--- a/doc/news.html
+++ b/doc/news.html
@@ -8,7 +8,97 @@
 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="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="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The <a href="ChangeLog.html">change log</a> describes the recents commits
-to the <a href="http://git.gnome.org/browse/libxml2/">GIT</a> code base.</p><p>Here is the list of public releases:</p><h3>v2.9.3: Nov 20 2015</h3><ul>
+to the <a href="http://git.gnome.org/browse/libxml2/">GIT</a> code base.</p><p>Here is the list of public releases:</p><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 />
diff --git a/doc/xml.html b/doc/xml.html
index 51dca8c..d035934 100644
--- a/doc/xml.html
+++ b/doc/xml.html
@@ -709,6 +709,98 @@
 
 <p>Here is the list of public releases:</p>
 
+<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/>
diff --git a/encoding.c b/encoding.c
index 574e1ae..e49c7f8 100644
--- a/encoding.c
+++ b/encoding.c
@@ -93,7 +93,7 @@
  *
  * n encoding error
  */
-static void
+static void LIBXML_ATTR_FORMAT(2,0)
 xmlEncodingErr(xmlParserErrors error, const char *msg, const char *val)
 {
     __xmlRaiseError(NULL, NULL, NULL, NULL, NULL,
diff --git a/entities.c b/entities.c
index a72afb3..64808ff 100644
--- a/entities.c
+++ b/entities.c
@@ -83,7 +83,7 @@
  *
  * Handle an out of memory condition
  */
-static void
+static void LIBXML_ATTR_FORMAT(2,0)
 xmlEntitiesErr(xmlParserErrors code, const char *msg)
 {
     __xmlSimpleError(XML_FROM_TREE, code, NULL, msg, NULL);
diff --git a/error.c b/error.c
index 9c45040..9606f13 100644
--- a/error.c
+++ b/error.c
@@ -18,7 +18,7 @@
 
 void XMLCDECL xmlGenericErrorDefaultFunc	(void *ctx ATTRIBUTE_UNUSED,
 				 const char *msg,
-				 ...);
+				 ...) LIBXML_ATTR_FORMAT(2,3);
 
 #define XML_GET_VAR_STR(msg, str) {				\
     int       size, prev_size = -1;				\
@@ -177,8 +177,8 @@
     xmlChar  content[81]; /* space for 80 chars + line terminator */
     xmlChar *ctnt;
 
-    if ((input == NULL) || (input->cur == NULL) ||
-        (*input->cur == 0)) return;
+    if ((input == NULL) || (input->cur == NULL))
+        return;
 
     cur = input->cur;
     base = input->base;
diff --git a/include/libxml/dict.h b/include/libxml/dict.h
index 7022ec8..b83db59 100644
--- a/include/libxml/dict.h
+++ b/include/libxml/dict.h
@@ -1,5 +1,5 @@
 /*
- * Summary: string dictionnary
+ * Summary: string dictionary
  * Description: dictionary of reusable strings, just used to avoid allocation
  *         and freeing operations.
  *
@@ -11,6 +11,18 @@
 #ifndef __XML_DICT_H__
 #define __XML_DICT_H__
 
+#ifdef __cplusplus
+#define __XML_EXTERNC	extern "C"
+#else
+#define __XML_EXTERNC
+#endif
+
+/*
+ * The dictionary.
+ */
+__XML_EXTERNC typedef struct _xmlDict xmlDict;
+__XML_EXTERNC typedef xmlDict *xmlDictPtr;
+
 #include <limits.h>
 #include <libxml/xmlversion.h>
 #include <libxml/tree.h>
@@ -20,12 +32,6 @@
 #endif
 
 /*
- * The dictionnary.
- */
-typedef struct _xmlDict xmlDict;
-typedef xmlDict *xmlDictPtr;
-
-/*
  * Initializer
  */
 XMLPUBFUN int XMLCALL  xmlInitializeDict(void);
@@ -48,7 +54,7 @@
 			xmlDictFree	(xmlDictPtr dict);
 
 /*
- * Lookup of entry in the dictionnary.
+ * Lookup of entry in the dictionary.
  */
 XMLPUBFUN const xmlChar * XMLCALL
 			xmlDictLookup	(xmlDictPtr dict,
diff --git a/include/libxml/parser.h b/include/libxml/parser.h
index 3f5730d..47fbec0 100644
--- a/include/libxml/parser.h
+++ b/include/libxml/parser.h
@@ -260,7 +260,7 @@
     void              *catalogs;      /* document's own catalog */
     int                recovery;      /* run in recovery mode */
     int                progressive;   /* is this a progressive parsing */
-    xmlDictPtr         dict;          /* dictionnary for the parser */
+    xmlDictPtr         dict;          /* dictionary for the parser */
     const xmlChar *   *atts;          /* array for the attributes callbacks */
     int                maxatts;       /* the size of the array */
     int                docdict;       /* use strings from dict to build tree */
@@ -1099,7 +1099,7 @@
     XML_PARSE_SAX1	= 1<<9,	/* use the SAX1 interface internally */
     XML_PARSE_XINCLUDE	= 1<<10,/* Implement XInclude substitition  */
     XML_PARSE_NONET	= 1<<11,/* Forbid network access */
-    XML_PARSE_NODICT	= 1<<12,/* Do not reuse the context dictionnary */
+    XML_PARSE_NODICT	= 1<<12,/* Do not reuse the context dictionary */
     XML_PARSE_NSCLEAN	= 1<<13,/* remove redundant namespaces declarations */
     XML_PARSE_NOCDATA	= 1<<14,/* merge CDATA as text nodes */
     XML_PARSE_NOXINCNODE= 1<<15,/* do not generate XINCLUDE START/END nodes */
diff --git a/include/libxml/parserInternals.h b/include/libxml/parserInternals.h
index 6065320..f30fc68 100644
--- a/include/libxml/parserInternals.h
+++ b/include/libxml/parserInternals.h
@@ -351,7 +351,7 @@
 						 xmlParserErrors xmlerr,
 						 const char *msg,
 						 const xmlChar * str1,
-						 const xmlChar * str2);
+						 const xmlChar * str2) LIBXML_ATTR_FORMAT(3,0);
 #endif
 
 /**
diff --git a/include/libxml/schemasInternals.h b/include/libxml/schemasInternals.h
index 4f0ca9a..c7cf552 100644
--- a/include/libxml/schemasInternals.h
+++ b/include/libxml/schemasInternals.h
@@ -28,52 +28,52 @@
 
 typedef enum {
     XML_SCHEMAS_UNKNOWN = 0,
-    XML_SCHEMAS_STRING,
-    XML_SCHEMAS_NORMSTRING,
-    XML_SCHEMAS_DECIMAL,
-    XML_SCHEMAS_TIME,
-    XML_SCHEMAS_GDAY,
-    XML_SCHEMAS_GMONTH,
-    XML_SCHEMAS_GMONTHDAY,
-    XML_SCHEMAS_GYEAR,
-    XML_SCHEMAS_GYEARMONTH,
-    XML_SCHEMAS_DATE,
-    XML_SCHEMAS_DATETIME,
-    XML_SCHEMAS_DURATION,
-    XML_SCHEMAS_FLOAT,
-    XML_SCHEMAS_DOUBLE,
-    XML_SCHEMAS_BOOLEAN,
-    XML_SCHEMAS_TOKEN,
-    XML_SCHEMAS_LANGUAGE,
-    XML_SCHEMAS_NMTOKEN,
-    XML_SCHEMAS_NMTOKENS,
-    XML_SCHEMAS_NAME,
-    XML_SCHEMAS_QNAME,
-    XML_SCHEMAS_NCNAME,
-    XML_SCHEMAS_ID,
-    XML_SCHEMAS_IDREF,
-    XML_SCHEMAS_IDREFS,
-    XML_SCHEMAS_ENTITY,
-    XML_SCHEMAS_ENTITIES,
-    XML_SCHEMAS_NOTATION,
-    XML_SCHEMAS_ANYURI,
-    XML_SCHEMAS_INTEGER,
-    XML_SCHEMAS_NPINTEGER,
-    XML_SCHEMAS_NINTEGER,
-    XML_SCHEMAS_NNINTEGER,
-    XML_SCHEMAS_PINTEGER,
-    XML_SCHEMAS_INT,
-    XML_SCHEMAS_UINT,
-    XML_SCHEMAS_LONG,
-    XML_SCHEMAS_ULONG,
-    XML_SCHEMAS_SHORT,
-    XML_SCHEMAS_USHORT,
-    XML_SCHEMAS_BYTE,
-    XML_SCHEMAS_UBYTE,
-    XML_SCHEMAS_HEXBINARY,
-    XML_SCHEMAS_BASE64BINARY,
-    XML_SCHEMAS_ANYTYPE,
-    XML_SCHEMAS_ANYSIMPLETYPE
+    XML_SCHEMAS_STRING = 1,
+    XML_SCHEMAS_NORMSTRING = 2,
+    XML_SCHEMAS_DECIMAL = 3,
+    XML_SCHEMAS_TIME = 4,
+    XML_SCHEMAS_GDAY = 5,
+    XML_SCHEMAS_GMONTH = 6,
+    XML_SCHEMAS_GMONTHDAY = 7,
+    XML_SCHEMAS_GYEAR = 8,
+    XML_SCHEMAS_GYEARMONTH = 9,
+    XML_SCHEMAS_DATE = 10,
+    XML_SCHEMAS_DATETIME = 11,
+    XML_SCHEMAS_DURATION = 12,
+    XML_SCHEMAS_FLOAT = 13,
+    XML_SCHEMAS_DOUBLE = 14,
+    XML_SCHEMAS_BOOLEAN = 15,
+    XML_SCHEMAS_TOKEN = 16,
+    XML_SCHEMAS_LANGUAGE = 17,
+    XML_SCHEMAS_NMTOKEN = 18,
+    XML_SCHEMAS_NMTOKENS = 19,
+    XML_SCHEMAS_NAME = 20,
+    XML_SCHEMAS_QNAME = 21,
+    XML_SCHEMAS_NCNAME = 22,
+    XML_SCHEMAS_ID = 23,
+    XML_SCHEMAS_IDREF = 24,
+    XML_SCHEMAS_IDREFS = 25,
+    XML_SCHEMAS_ENTITY = 26,
+    XML_SCHEMAS_ENTITIES = 27,
+    XML_SCHEMAS_NOTATION = 28,
+    XML_SCHEMAS_ANYURI = 29,
+    XML_SCHEMAS_INTEGER = 30,
+    XML_SCHEMAS_NPINTEGER = 31,
+    XML_SCHEMAS_NINTEGER = 32,
+    XML_SCHEMAS_NNINTEGER = 33,
+    XML_SCHEMAS_PINTEGER = 34,
+    XML_SCHEMAS_INT = 35,
+    XML_SCHEMAS_UINT = 36,
+    XML_SCHEMAS_LONG = 37,
+    XML_SCHEMAS_ULONG = 38,
+    XML_SCHEMAS_SHORT = 39,
+    XML_SCHEMAS_USHORT = 40,
+    XML_SCHEMAS_BYTE = 41,
+    XML_SCHEMAS_UBYTE = 42,
+    XML_SCHEMAS_HEXBINARY = 43,
+    XML_SCHEMAS_BASE64BINARY = 44,
+    XML_SCHEMAS_ANYTYPE = 45,
+    XML_SCHEMAS_ANYSIMPLETYPE = 46
 } xmlSchemaValType;
 
 /*
diff --git a/include/libxml/xmlerror.h b/include/libxml/xmlerror.h
index 43e68ca..037c16d 100644
--- a/include/libxml/xmlerror.h
+++ b/include/libxml/xmlerror.h
@@ -937,7 +937,7 @@
 				 int code,
 				 xmlNodePtr node,
 				 const char *msg,
-				 const char *extra);
+				 const char *extra) LIBXML_ATTR_FORMAT(4,0);
 #endif
 #ifdef __cplusplus
 }
diff --git a/include/libxml/xmlstring.h b/include/libxml/xmlstring.h
index 2036236..2d0b2d1 100644
--- a/include/libxml/xmlstring.h
+++ b/include/libxml/xmlstring.h
@@ -97,13 +97,13 @@
 XMLPUBFUN int XMLCALL
                 xmlStrPrintf             (xmlChar *buf,
                                          int len,
-                                         const xmlChar *msg,
-                                         ...);
+                                         const char *msg,
+                                         ...) LIBXML_ATTR_FORMAT(3,4);
 XMLPUBFUN int XMLCALL
                 xmlStrVPrintf                (xmlChar *buf,
                                          int len,
-                                         const xmlChar *msg,
-                                         va_list ap);
+                                         const char *msg,
+                                         va_list ap) LIBXML_ATTR_FORMAT(3,0);
 
 XMLPUBFUN int XMLCALL
         xmlGetUTF8Char                   (const unsigned char *utf,
diff --git a/include/libxml/xpathInternals.h b/include/libxml/xpathInternals.h
index 70c9db9..76a6b48 100644
--- a/include/libxml/xpathInternals.h
+++ b/include/libxml/xpathInternals.h
@@ -229,7 +229,7 @@
  * Empties a node-set.
  */
 #define xmlXPathEmptyNodeSet(ns)					\
-    { while ((ns)->nodeNr > 0) (ns)->nodeTab[(ns)->nodeNr--] = NULL; }
+    { while ((ns)->nodeNr > 0) (ns)->nodeTab[--(ns)->nodeNr] = NULL; }
 
 /**
  * CHECK_ERROR:
diff --git a/libxml.h b/libxml.h
index 2da9044..88e515f 100644
--- a/libxml.h
+++ b/libxml.h
@@ -9,6 +9,8 @@
 #ifndef __XML_LIBXML_H__
 #define __XML_LIBXML_H__
 
+#include <libxml/xmlstring.h>
+
 #ifndef NO_LARGEFILE_SOURCE
 #ifndef _LARGEFILE_SOURCE
 #define _LARGEFILE_SOURCE
@@ -68,7 +70,7 @@
  * internal error reporting routines, shared but not partof the API.
  */
 void __xmlIOErr(int domain, int code, const char *extra);
-void __xmlLoaderErr(void *ctx, const char *msg, const char *filename);
+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
@@ -93,6 +95,7 @@
 int __xmlRandom(void);
 #endif
 
+XMLPUBFUN xmlChar * XMLCALL xmlEscapeFormatString(xmlChar **msg);
 int xmlNop(void);
 
 #ifdef IN_LIBXML
diff --git a/optim/hash_dict.txt b/optim/hash_dict.txt
index f655deb..a447b7e 100644
--- a/optim/hash_dict.txt
+++ b/optim/hash_dict.txt
@@ -1,4 +1,4 @@
-Reuses a dictionnary for the hash table to reduce the string compare
+Reuses a dictionary for the hash table to reduce the string compare
 costs. Not worth it unless validating big DTDs
 
 		without		with
diff --git a/os400/README400 b/os400/README400
index 6c16de9..fff923c 100644
--- a/os400/README400
+++ b/os400/README400
@@ -185,15 +185,27 @@
                              va_list args);
 
 
+xmllint and xmlcatalog programs:
+
+  These programs are fully implemented at the qshell level, with standard
+command line options. Links to these are installed in sub-directory bin of
+the IFS installation directory.
+  CL command interfaces to these programs are also provided with limited
+support. In particular, interactive mode is not supported and argument count
+and lengths are limited by the CL command syntax.
+
 
 ILE/RPG binding:
 
   All standard types and procedures are provided. Since ILE/RPG does not
-support macros, they have not been ported, with the exceptions of the more
-useful ones and the global/threaded variables access macros. These variables
-can be read with function get_xxx(void), where xxxx is the name of the
-variable; they may be set by calling function set_xxxx(value), where value is
-of the same type as the variable.
+support macros, they have not been ported. However some of them are emulated
+as functions: these are the more useful ones (xmlXPathNodeSetGetLength,
+xmlXPathNodeSetItem, xmlXPathNodeSetIsEmpty, htmlDefaultSubelement,
+htmlElementAllowedHereDesc, htmlRequiredAttrs) and the global/threaded
+variables access macros. These variables can be read with function
+get_xxx(void), where xxxx is the name of the variable; they may be set by
+calling function set_xxxx(value), where value is of the same type as the
+variable.
 
   The C va_list is not implemented as such in ILE/RPG. Functions implementing
 va_list and associated methods are provided:
diff --git a/os400/dlfcn/dlfcn.c b/os400/dlfcn/dlfcn.c
index 1488e12..77190b3 100644
--- a/os400/dlfcn/dlfcn.c
+++ b/os400/dlfcn/dlfcn.c
@@ -375,7 +375,7 @@
                         case 2:
                                 if (tail[1] != '.')
                                         break;
-                                        
+
                                 pathlen = dlparentpath(path, pathlen);
 
                         case 1:
diff --git a/os400/initscript.sh b/os400/initscript.sh
index fb80507..cc52e45 100644
--- a/os400/initscript.sh
+++ b/os400/initscript.sh
@@ -165,15 +165,38 @@
 }
 
 
-#       make_module module_name source_name [additional_definitions]
+#       make_module [option] module_name source_name
 #
 #       Compile source name into ASCII module if needed.
 #       As side effect, append the module name to variable MODULES.
 #       Set LINK to "YES" if the module has been compiled.
+#       Options are:
+#         --define <additional definitions>
+#         --ebcdic
+#         --sysiconv
 
 make_module()
 
 {
+        DEFN=
+        EBCDIC=
+        SYSICONV=
+        while true
+        do      case "${1}" in
+                --define)
+                        DEFN="${2}"
+                        shift
+                        ;;
+                --ebcdic)
+                        EBCDIC=yes
+                        ;;
+                --sysiconv)
+                        SYSICONV=yes
+                        ;;
+                *)      break
+                esac
+                shift
+        done
         MODULES="${MODULES} ${1}"
         MODIFSNAME="${LIBIFSNAME}/${1}.MODULE"
         action_needed "${MODIFSNAME}" "${2}" || return 0;
@@ -185,7 +208,7 @@
         #               the source file and we compile that temporary file.
 
         rm -f __tmpsrcf.c
-        if [ "${4}" != 'ebcdic' ]
+        if [ -z "${EBCDIC}" ]
         then    echo "#line 1 \"${2}\"" >> __tmpsrcf.c
                 echo "#pragma convert(819)" >> __tmpsrcf.c
                 echo '#include "wrappers.h"' >> __tmpsrcf.c
@@ -197,8 +220,10 @@
         CMD="${CMD} OPTION(*INCDIRFIRST)"
         CMD="${CMD} SYSIFCOPT(*IFS64IO) LANGLVL(*EXTENDED) LOCALETYPE(*LOCALE)"
         CMD="${CMD} INCDIR("
-        CMD="${CMD} '${TOPDIR}/os400/iconv'"
-        if [ "${4}" != 'ebcdic' ]
+        if [  -z "${SYSICONV}" ]
+        then    CMD="${CMD} '${TOPDIR}/os400/iconv'"
+        fi
+        if [ -z "${EBCDIC}" ]
         then    CMD="${CMD} '/qibm/proddata/qadrt/include'"
         fi
         CMD="${CMD} '${TOPDIR}/os400' '${TOPDIR}/os400/dlfcn'"
@@ -211,7 +236,7 @@
         CMD="${CMD} OUTPUT(${OUTPUT})"
         CMD="${CMD} OPTIMIZE(${OPTIMIZE})"
         CMD="${CMD} DBGVIEW(${DEBUG})"
-        CMD="${CMD} DEFINE('_REENTRANT' 'TRIO_HAVE_CONFIG_H' 'NDEBUG' ${3})"
+        CMD="${CMD} DEFINE('_REENTRANT' 'TRIO_HAVE_CONFIG_H' 'NDEBUG' ${DEFN})"
 
         system "${CMD}"
         rm -f __tmpsrcf.c
diff --git a/os400/libxmlmain.c b/os400/libxmlmain.c
new file mode 100644
index 0000000..91c848a
--- /dev/null
+++ b/os400/libxmlmain.c
@@ -0,0 +1,102 @@
+/**
+***     QADRT/QADRTMAIN2 substitution program.
+***     This is needed because the IBM-provided QADRTMAIN2 does not
+***     properly translate arguments by default or if no locale is provided.
+***
+***     See Copyright for the status of this software.
+***
+***     Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
+**/
+
+#include <stdlib.h>
+#include <string.h>
+#include <iconv.h>
+#include <errno.h>
+#include <locale.h>
+
+/* Do not use qadrt.h since it defines unneeded static procedures. */
+extern void     QadrtInit(void);
+extern int      QadrtFreeConversionTable(void);
+extern int      QadrtFreeEnviron(void);
+extern char *   setlocale_a(int, const char *);
+
+
+/* The ASCII main program. */
+extern int      main_a(int argc, char * * argv);
+
+/* Global values of original EBCDIC arguments. */
+int             ebcdic_argc;
+char * *        ebcdic_argv;
+
+
+int
+main(int argc, char * * argv)
+
+{
+        int i;
+        int j;
+        iconv_t cd;
+        size_t bytecount = 0;
+        char * inbuf;
+        char * outbuf;
+        size_t inbytesleft;
+        size_t outbytesleft;
+        char dummybuf[128];
+        char tocode[32];
+        char fromcode[32];
+
+        ebcdic_argc = argc;
+        ebcdic_argv = argv;
+
+        /* Build the encoding converter. */
+        strncpy(tocode, "IBMCCSID01208", sizeof tocode);
+        strncpy(fromcode, "IBMCCSID000000000010", sizeof fromcode);
+        cd = iconv_open(tocode, fromcode);
+
+        /* Measure the arguments. */
+        for (i = 0; i < argc; i++) {
+                inbuf = argv[i];
+                do {
+                        inbytesleft = 0;
+                        outbuf = dummybuf;
+                        outbytesleft = sizeof dummybuf;
+                        j = iconv(cd,
+                                  &inbuf, &inbytesleft, &outbuf, &outbytesleft);
+                        bytecount += outbuf - dummybuf;
+                } while (j == -1 && errno == E2BIG);
+                /* Reset the shift state. */
+                iconv(cd, NULL, &inbytesleft, &outbuf, &outbytesleft);
+                }
+
+        /* Allocate memory for the ASCII arguments and vector. */
+        argv = (char * *) malloc((argc + 1) * sizeof *argv + bytecount);
+
+        /* Build the vector and convert argument encoding. */
+        outbuf = (char *) (argv + argc + 1);
+        outbytesleft = bytecount;
+
+        for (i = 0; i < argc; i++) {
+                argv[i] = outbuf;
+                inbuf = ebcdic_argv[i];
+                inbytesleft = 0;
+                iconv(cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
+                iconv(cd, NULL, &inbytesleft, &outbuf, &outbytesleft);
+                }
+
+        iconv_close(cd);
+        argv[argc] = NULL;
+
+        /* Try setting the locale regardless of QADRT_ENV_LOCALE. */
+        setlocale_a(LC_ALL, "");
+
+        /* Call the program. */
+        i = main_a(argc, argv);
+
+        /* Clean-up allocated items. */
+        free((char *) argv);
+        QadrtFreeConversionTable();
+        QadrtFreeEnviron();
+
+        /* Terminate. */
+        return i;
+}
diff --git a/os400/libxmlrpg/DOCBparser.rpgle b/os400/libxmlrpg/DOCBparser.rpgle
index bf5aaa2..08a6b8c 100644
--- a/os400/libxmlrpg/DOCBparser.rpgle
+++ b/os400/libxmlrpg/DOCBparser.rpgle
@@ -13,6 +13,7 @@
 
       /if defined(LIBXML_DOCB_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
       /include "libxmlrpg/parser"
       /include "libxmlrpg/parserInternals"
 
@@ -46,13 +47,14 @@
       * There is only few public functions.
 
      d docbEncodeEntities...
-     d                 pr            10i 0 extproc('docbEncodeEntities')
+     d                 pr                  extproc('docbEncodeEntities')
+     d                                     like(xmlCint)
      d  out                            *   value options(*string)               unsigned char *
      d  outlen                         *   value                                int *
      d  in                             *   value options(*string)               const unsigned char
      d                                                                          *
      d  inlen                          *   value                                int *
-     d  quoteChar                    10i 0 value
+     d  quoteChar                          value like(xmlCint)
 
      d docbSAXParseDoc...
      d                 pr                  extproc('docbSAXParseDoc')
@@ -92,15 +94,16 @@
      d  sax                                value like(docbSAXHandlerPtr)
      d  user_data                      *   value                                void *
      d  chunk                          *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
      d  filename                       *   value options(*string)               const char *
      d  enc                                value like(xmlCharEncoding)
 
-     d docbParseChunk  pr            10i 0 extproc('docbParseChunk')
+     d docbParseChunk  pr                  extproc('docbParseChunk')
+     d                                     like(xmlCint)
      d  ctxt                               value like(docbParserCtxtPtr)
      d  chunk                          *   value options(*string)               const char *
-     d  size                         10i 0 value
-     d  terminate                    10i 0 value
+     d  size                               value like(xmlCint)
+     d  terminate                          value like(xmlCint)
 
      d docbCreateFileParserCtxt...
      d                 pr                  extproc('docbCreateFileParserCtxt')
@@ -109,7 +112,8 @@
      d  encoding                       *   value options(*string)               const char *
 
      d docbParseDocument...
-     d                 pr            10i 0 extproc('docbParseDocument')
+     d                 pr                  extproc('docbParseDocument')
+     d                                     like(xmlCint)
      d  ctxt                               value like(docbParserCtxtPtr)
 
       /endif                                                                    LIBXML_DOCB_ENABLED
diff --git a/os400/libxmlrpg/HTMLparser.rpgle b/os400/libxmlrpg/HTMLparser.rpgle
index d4c5f8d..c27d8e5 100644
--- a/os400/libxmlrpg/HTMLparser.rpgle
+++ b/os400/libxmlrpg/HTMLparser.rpgle
@@ -12,11 +12,12 @@
       /define HTML_PARSER_H__
 
       /include "libxmlrpg/xmlversion"
-      /include "libxmlrpg/xmlTypesC"
-      /include "libxmlrpg/parser"
 
       /if defined(LIBXML_HTML_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
+      /include "libxmlrpg/parser"
+
       * Most of the back-end structures from XML and HTML are shared.
 
      d htmlParserCtxtPtr...
@@ -96,7 +97,7 @@
      d htmlEntityDesc...
      d                 ds                  based(htmlEntityDescPtr)
      d                                     align qualified
-     d  value                        10u 0                                      Unicode char value
+     d  value                              like(xmlCuint)
      d  name                           *                                        const char *
      d  desc                           *                                        const char *
 
@@ -114,15 +115,17 @@
      d htmlEntityValueLookup...
      d                 pr                  extproc('htmlEntityValueLookup')
      d                                     like(htmlEntityDescPtr)              const
-     d  value                        10u 0 value
+     d  value                              value like(xmlCuint)
 
      d htmlIsAutoClosed...
-     d                 pr            10i 0 extproc('htmlIsAutoClosed')
+     d                 pr                  extproc('htmlIsAutoClosed')
+     d                                     like(xmlCint)
      d  doc                                value like(htmlDocPtr)
      d  elem                               value like(htmlNodePtr)
 
      d htmlAutoCloseTag...
-     d                 pr            10i 0 extproc('htmlAutoCloseTag')
+     d                 pr                  extproc('htmlAutoCloseTag')
+     d                                     like(xmlCint)
      d  doc                                value like(htmlDocPtr)
      d  name                           *   value options(*string)               const xmlChar *
      d  elem                               value like(htmlNodePtr)
@@ -134,7 +137,8 @@
      d  str                            *                                        const xmlChar *(*)
 
      d htmlParseCharRef...
-     d                 pr            10i 0 extproc('htmlParseCharRef')
+     d                 pr                  extproc('htmlParseCharRef')
+     d                                     like(xmlCint)
      d  ctxt                               value like(htmlParserCtxtPtr)
 
      d htmlParseElement...
@@ -149,10 +153,11 @@
      d                 pr                  extproc('htmlCreateMemoryParserCtxt')
      d                                     like(htmlParserCtxtPtr)
      d  buffer                         *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
 
      d htmlParseDocument...
-     d                 pr            10i 0 extproc('htmlParseDocument')
+     d                 pr                  extproc('htmlParseDocument')
+     d                                     like(xmlCint)
      d  ctxt                               value like(htmlParserCtxtPtr)
 
      d htmlSAXParseDoc...
@@ -181,27 +186,31 @@
      d  filename                       *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
 
-     d UTF8ToHtml      pr            10i 0 extproc('UTF8ToHtml')
+     d UTF8ToHtml      pr                  extproc('UTF8ToHtml')
+     d                                     like(xmlCint)
      d  out                       65535    options(*varsize)                    unsigned char []
-     d  outlen                       10i 0
+     d  outlen                             like(xmlCint)
      d  in                             *   value options(*string)               const unsigned char*
-     d  inlen                        10i 0
+     d  inlen                              like(xmlCint)
 
      d htmlEncodeEntities...
-     d                 pr            10i 0 extproc('htmlEncodeEntities')
+     d                 pr                  extproc('htmlEncodeEntities')
+     d                                     like(xmlCint)
      d  out                       65535    options(*varsize)                    unsigned char []
-     d  outlen                       10i 0
+     d  outlen                             like(xmlCint)
      d  in                             *   value options(*string)               const unsigned char*
-     d  inlen                        10i 0
-     d  quoteChar                    10i 0 value
+     d  inlen                              like(xmlCint)
+     d  quoteChar                          value like(xmlCint)
 
      d htmlIsScriptAttribute...
-     d                 pr            10i 0 extproc('htmlIsScriptAttribute')
+     d                 pr                  extproc('htmlIsScriptAttribute')
+     d                                     like(xmlCint)
      d  name                           *   value options(*string)               const xmlChar *
 
      d htmlHandleOmittedElem...
-     d                 pr            10i 0 extproc('htmlHandleOmittedElem')
-     d  val                          10i 0 value
+     d                 pr                  extproc('htmlHandleOmittedElem')
+     d                                     like(xmlCint)
+     d  val                                value like(xmlCint)
 
       /if defined(LIBXML_PUSH_ENABLED)
 
@@ -213,15 +222,16 @@
      d  sax                                value like(htmlSAXHandlerPtr)
      d  user_data                      *   value                                void *
      d  chunk                          *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
      d  filename                       *   value options(*string)               const char *
      d  enc                                value like(xmlCharEncoding)
 
-     d htmlParseChunk  pr            10i 0 extproc('htmlParseChunk')
+     d htmlParseChunk  pr                  extproc('htmlParseChunk')
+     d                                     like(xmlCint)
      d  ctxt                               value like(htmlParserCtxtPtr)
      d  chunk                          *   value options(*string)               const char *
-     d  size                         10i 0 value
-     d  terminate                    10i 0 value
+     d  size                               value like(xmlCint)
+     d  terminate                          value like(xmlCint)
       /endif                                                                    LIBXML_PUSH_ENABLED
 
      d htmlFreeParserCtxt...
@@ -236,7 +246,8 @@
       * to the xmlReadDoc() and similar calls.
 
      d htmlParserOption...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  HTML_PARSE_RECOVER...                                                   Relaxed parsing
      d                 c                   X'00000001'
      d  HTML_PARSE_NODEFDTD...                                                  No default doctype
@@ -262,37 +273,38 @@
      d ctxt                                value like(htmlParserCtxtPtr)
 
      d htmlCtxtUseOptions...
-     d                 pr            10i 0 extproc('htmlCtxtUseOptions')
+     d                 pr                  extproc('htmlCtxtUseOptions')
+     d                                     like(xmlCint)
      d ctxt                                value like(htmlParserCtxtPtr)
-     d options                       10i 0 value
+     d options                             value like(xmlCint)
 
      d htmlReadDoc     pr                  extproc('htmlReadDoc')
      d                                     like(htmlDocPtr)
      d  cur                            *   value options(*string)               const xmlChar *
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d htmlReadFile    pr                  extproc('htmlReadFile')
      d                                     like(htmlDocPtr)
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d htmlReadMemory  pr                  extproc('htmlReadMemory')
      d                                     like(htmlDocPtr)
      d  buffer                         *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d htmlReadFd      pr                  extproc('htmlReadFd')
      d                                     like(htmlDocPtr)
-     d  fd                           10i 0 value
+     d  fd                                 value like(xmlCint)
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d htmlReadIO      pr                  extproc('htmlReadIO')
      d                                     like(htmlDocPtr)
@@ -301,7 +313,7 @@
      d  ioctx                          *   value                                void *
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d htmlCtxtReadDoc...
      d                 pr                  extproc('htmlCtxtReadDoc')
@@ -310,7 +322,7 @@
      d  cur                            *   value options(*string)               const xmlChar *
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d htmlCtxtReadFile...
      d                 pr                  extproc('htmlCtxtReadFile')
@@ -318,25 +330,25 @@
      d  ctxt                               value like(xmlParserCtxtPtr)
      d  filename                       *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d htmlCtxtReadMemory...
      d                 pr                  extproc('htmlCtxtReadMemory')
      d                                     like(htmlDocPtr)
      d  ctxt                               value like(xmlParserCtxtPtr)
      d  buffer                         *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d htmlCtxtReadFd  pr                  extproc('htmlCtxtReadFd')
      d                                     like(htmlDocPtr)
      d  ctxt                               value like(xmlParserCtxtPtr)
-     d  fd                           10i 0 value
+     d  fd                                 value like(xmlCint)
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d htmlCtxtReadIO  pr                  extproc('htmlCtxtReadIO')
      d                                     like(htmlDocPtr)
@@ -346,11 +358,12 @@
      d  ioctx                          *   value                                void *
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
       * Further knowledge of HTML structure
 
-     d htmlStatus      s             10i 0 based(######typedef######)           enum
+     d htmlStatus      s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  HTML_NA        c                   X'0000'                              No check at all
      d  HTML_INVALID   c                   X'0001'
      d  HTML_DEPRECATED...
@@ -366,10 +379,11 @@
      d                                     like(htmlStatus)
      d  #param1                            value like(htmlElemDescPtr)          const
      d  #param2                        *   value options(*string)               const xmlChar *
-     d  #param3                      10i 0 value
+     d  #param3                            value like(xmlCint)
 
      d htmlElementAllowedHere...
-     d                 pr            10i 0 extproc('htmlElementAllowedHere')
+     d                 pr                  extproc('htmlElementAllowedHere')
+     d                                     like(xmlCint)
      d  #param1                            value like(htmlElemDescPtr)          const
      d  #param2                        *   value options(*string)               const xmlChar *
 
@@ -382,7 +396,7 @@
      d htmlNodeStatus  pr                  extproc('htmlNodeStatus')
      d                                     like(htmlStatus)
      d  #param1                            value like(htmlNodePtr)
-     d  #param2                      10i 0 value
+     d  #param2                            value like(xmlCint)
 
       * C macros implemented as procedures for ILE/RPG support.
 
@@ -391,8 +405,9 @@
      d  elt                            *   value                                const htmlElemDesc *
 
      d htmlElementAllowedHereDesc...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     '__htmlElementAllowedHereDesc')
+     d                                     like(xmlCint)
      d  parent                         *   value                                const htmlElemDesc *
      d  elt                            *   value                                const htmlElemDesc *
 
diff --git a/os400/libxmlrpg/HTMLtree.rpgle b/os400/libxmlrpg/HTMLtree.rpgle
index 82a11ca..99c38a0 100644
--- a/os400/libxmlrpg/HTMLtree.rpgle
+++ b/os400/libxmlrpg/HTMLtree.rpgle
@@ -10,11 +10,13 @@
       /define HTML_TREE_H__
 
       /include "libxmlrpg/xmlversion"
-      /include "libxmlrpg/tree"
-      /include "libxmlrpg/HTMLparser"
 
       /if defined(LIBXML_HTML_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
+      /include "libxmlrpg/tree"
+      /include "libxmlrpg/HTMLparser"
+
       * HTML_TEXT_NODE:
       *
       * Macro. A text node in a HTML document is really implemented
@@ -69,7 +71,8 @@
      d  doc                                value like(htmlDocPtr)
 
      d htmlSetMetaEncoding...
-     d                 pr            10i 0 extproc('htmlSetMetaEncoding')
+     d                 pr                  extproc('htmlSetMetaEncoding')
+     d                                     like(xmlCint)
      d  doc                                value like(htmlDocPtr)
      d  encoding                       *   value options(*string)               const xmlChar *
 
@@ -78,24 +81,27 @@
      d                 pr                  extproc('htmlDocDumpMemory')
      d  cur                                value like(xmlDocPtr)
      d  mem                            *   value                                xmlChar * *
-     d  size                         10i 0
+     d  size                               like(xmlCint)
 
      d htmlDocDumpMemoryFormat...
      d                 pr                  extproc('htmlDocDumpMemoryFormat')
      d  cur                                value like(xmlDocPtr)
      d  mem                            *   value                                xmlChar * *
-     d  size                         10i 0
-     d  format                       10i 0 value
+     d  size                               like(xmlCint)
+     d  format                             value like(xmlCint)
 
-     d htmlDocDump     pr            10i 0 extproc('htmlDocDump')
+     d htmlDocDump     pr                  extproc('htmlDocDump')
+     d                                     like(xmlCint)
      d  f                              *   value                                FILE *
      d  cur                                value like(xmlDocPtr)
 
-     d htmlSaveFile    pr            10i 0 extproc('htmlSaveFile')
+     d htmlSaveFile    pr                  extproc('htmlSaveFile')
+     d                                     like(xmlCint)
      d  filename                       *   value options(*string)               const char *
      d  cur                                value like(xmlDocPtr)
 
-     d htmlNodeDump    pr            10i 0 extproc('htmlNodeDump')
+     d htmlNodeDump    pr                  extproc('htmlNodeDump')
+     d                                     like(xmlCint)
      d  buf                                value like(xmlBufferPtr)
      d  doc                                value like(xmlDocPtr)
      d  cur                                value like(xmlNodePtr)
@@ -107,25 +113,28 @@
      d  cur                                value like(xmlNodePtr)
 
      d htmlNodeDumpFileFormat...
-     d                 pr            10i 0 extproc('htmlNodeDumpFileFormat')
+     d                 pr                  extproc('htmlNodeDumpFileFormat')
+     d                                     like(xmlCint)
      d  out                            *   value                                FILE *
      d  doc                                value like(xmlDocPtr)
      d  cur                                value like(xmlNodePtr)
      d  encoding                       *   value options(*string)               const char *
-     d  format                       10i 0 value
+     d  format                             value like(xmlCint)
 
      d htmlSaveFileEnc...
-     d                 pr            10i 0 extproc('htmlSaveFileEnc')
+     d                 pr                  extproc('htmlSaveFileEnc')
+     d                                     like(xmlCint)
      d  filename                       *   value options(*string)               const char *
      d  cur                                value like(xmlDocPtr)
      d  encoding                       *   value options(*string)               const char *
 
      d htmlSaveFileFormat...
-     d                 pr            10i 0 extproc('htmlSaveFileFormat')
+     d                 pr                  extproc('htmlSaveFileFormat')
+     d                                     like(xmlCint)
      d  filename                       *   value options(*string)               const char *
      d  cur                                value like(xmlDocPtr)
      d  encoding                       *   value options(*string)               const char *
-     d  format                       10i 0 value
+     d  format                             value like(xmlCint)
 
      d htmlNodeDumpFormatOutput...
      d                 pr                  extproc('htmlNodeDumpFormatOutput')
@@ -133,7 +142,7 @@
      d  doc                                value like(xmlDocPtr)
      d  cur                                value like(xmlNodePtr)
      d  encoding                       *   value options(*string)               const char *
-     d  format                       10i 0 value
+     d  format                             value like(xmlCint)
 
      d htmlDocContentDumpOutput...
      d                 pr                  extproc('htmlDocContentDumpOutput')
@@ -147,7 +156,7 @@
      d  buf                                value like(xmlOutputBufferPtr)
      d  cur                                value like(xmlDocPtr)
      d  encoding                       *   value options(*string)               const char *
-     d  format                       10i 0 value
+     d  format                             value like(xmlCint)
 
      d htmlNodeDumpOutput...
      d                 pr                  extproc('htmlNodeDumpOutput')
@@ -159,7 +168,8 @@
       /endif                                                                    LIBXML_OUTPUT_ENABLD
 
      d htmlIsBooleanAttr...
-     d                 pr            10i 0 extproc('htmlIsBooleanAttr')
+     d                 pr                  extproc('htmlIsBooleanAttr')
+     d                                     like(xmlCint)
      d  name                           *   value options(*string)               const xmlChar *
 
       /endif                                                                    LIBXML_HTML_ENABLED
diff --git a/os400/libxmlrpg/SAX.rpgle b/os400/libxmlrpg/SAX.rpgle
index 85f15cc..a22d49a 100644
--- a/os400/libxmlrpg/SAX.rpgle
+++ b/os400/libxmlrpg/SAX.rpgle
@@ -26,22 +26,27 @@
      d  ctx                            *   value                                void *
      d  loc                                value like(xmlSAXLocatorPtr)
 
-     d getLineNumber   pr            10i 0 extproc('getLineNumber')
+     d getLineNumber   pr                  extproc('getLineNumber')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
      d getColumnNumber...
-     d                 pr            10i 0 extproc('getColumnNumber')
+     d                 pr                  extproc('getColumnNumber')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
-     d isStandalone    pr            10i 0 extproc('isStandalone')
+     d isStandalone    pr                  extproc('isStandalone')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
      d hasInternalSubset...
-     d                 pr            10i 0 extproc('hasInternalSubset')
+     d                 pr                  extproc('hasInternalSubset')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
      d hasExternalSubset...
-     d                 pr            10i 0 extproc('hasExternalSubset')
+     d                 pr                  extproc('hasExternalSubset')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
      d internalSubset  pr                  extproc('internalSubset')
@@ -76,7 +81,7 @@
      d entityDecl      pr                  extproc('entityDecl')
      d  ctx                            *   value                                void *
      d  name                           *   value options(*string)               const xmlChar *
-     d  type                         10i 0 value
+     d  type                               value like(xmlCint)
      d  publicId                       *   value options(*string)               const xmlChar *
      d  systemId                       *   value options(*string)               const xmlChar *
      d  content                        *   value options(*string)               xmlChar *
@@ -85,15 +90,15 @@
      d  ctx                            *   value                                void *
      d  elem                           *   value options(*string)               const xmlChar *
      d  fullname                       *   value options(*string)               const xmlChar *
-     d  type                         10i 0 value
-     d  def                          10i 0 value
+     d  type                               value like(xmlCint)
+     d  def                                value like(xmlCint)
      d  defaultValue                   *   value options(*string)               const xmlChar *
      d  tree                               value like(xmlEnumerationPtr)
 
      d elementDecl     pr                  extproc('elementDecl')
      d  ctx                            *   value                                void *
      d  name                           *   value options(*string)               const xmlChar *
-     d  type                         10i 0 value
+     d  type                               value like(xmlCint)
      d  content                            value like(xmlElementContentPtr)
 
      d notationDecl    pr                  extproc('notationDecl')
@@ -137,13 +142,13 @@
      d characters      pr                  extproc('characters')
      d  ctx                            *   value                                void *
      d  ch                             *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d ignorableWhitespace...
      d                 pr                  extproc('ignorableWhitespace')
      d  ctx                            *   value                                void *
      d  ch                             *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d processingInstruction...
      d                 pr                  extproc('processingInstruction')
@@ -165,7 +170,8 @@
      d                                     like(xmlNsPtr)
      d  ctx                            *   value                                void *
 
-     d checkNamespace  pr            10i 0 extproc('checkNamespace')
+     d checkNamespace  pr                  extproc('checkNamespace')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
      d  nameSpace                      *   value options(*string)               xmlChar *
 
@@ -181,13 +187,13 @@
      d cdataBlock      pr                  extproc('cdataBlock')
      d  ctx                            *   value                                void *
      d  value                          *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
       /if defined(LIBXML_SAX1_ENABLED)
      d initxmlDefaultSAXHandler...
      d                 pr                  extproc('initxmlDefaultSAXHandler')
      d  hdlr                               likeds(xmlSAXHandlerV1)
-     d  warning                      10i 0 value
+     d  warning                            value like(xmlCint)
 
       /if defined(LIBXML_HTML_ENABLED)
      d inithtmlDefaultSAXHandler...
diff --git a/os400/libxmlrpg/SAX2.rpgle b/os400/libxmlrpg/SAX2.rpgle
index fb687e9..c72be25 100644
--- a/os400/libxmlrpg/SAX2.rpgle
+++ b/os400/libxmlrpg/SAX2.rpgle
@@ -10,6 +10,7 @@
       /define XML_SAX2_H__
 
       /include "libxmlrpg/xmlversion"
+      /include "libxmlrpg/xmlTypesC"
       /include "libxmlrpg/parser"
       /include "libxmlrpg/xlink"
 
@@ -27,23 +28,28 @@
      d  loc                                value like(xmlSAXLocatorPtr)
 
      d xmlSAX2GetLineNumber...
-     d                 pr            10i 0 extproc('xmlSAX2GetLineNumber')
+     d                 pr                  extproc('xmlSAX2GetLineNumber')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
      d xmlSAX2GetColumnNumber...
-     d                 pr            10i 0 extproc('xmlSAX2GetColumnNumber')
+     d                 pr                  extproc('xmlSAX2GetColumnNumber')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
      d xmlSAX2IsStandalone...
-     d                 pr            10i 0 extproc('xmlSAX2IsStandalone')
+     d                 pr                  extproc('xmlSAX2IsStandalone')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
      d xmlSAX2HasInternalSubset...
-     d                 pr            10i 0 extproc('xmlSAX2HasInternalSubset')
+     d                 pr                  extproc('xmlSAX2HasInternalSubset')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
      d xmlSAX2HasExternalSubset...
-     d                 pr            10i 0 extproc('xmlSAX2HasExternalSubset')
+     d                 pr                  extproc('xmlSAX2HasExternalSubset')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
      d xmlSAX2InternalSubset...
@@ -83,7 +89,7 @@
      d                 pr                  extproc('xmlSAX2EntityDecl')
      d  ctx                            *   value                                void *
      d  name                           *   value options(*string)               const xmlChar *
-     d  type                         10i 0 value
+     d  type                               value like(xmlCint)
      d  publicId                       *   value options(*string)               const xmlChar *
      d  systemId                       *   value options(*string)               const xmlChar *
      d  content                        *   value options(*string)               xmlChar *
@@ -93,8 +99,8 @@
      d  ctx                            *   value                                void *
      d  elem                           *   value options(*string)               const xmlChar *
      d  fullname                       *   value options(*string)               const xmlChar *
-     d  type                         10i 0 value
-     d  def                          10i 0 value
+     d  type                               value like(xmlCint)
+     d  def                                value like(xmlCint)
      d  defaultValue                   *   value options(*string)               const xmlChar *
      d  tree                               value like(xmlEnumerationPtr)
 
@@ -102,7 +108,7 @@
      d                 pr                  extproc('xmlSAX2ElementDecl')
      d  ctx                            *   value                                void *
      d  name                           *   value options(*string)               const xmlChar *
-     d  type                         10i 0 value
+     d  type                               value like(xmlCint)
      d  content                            value like(xmlElementContentPtr)
 
      d xmlSAX2NotationDecl...
@@ -158,10 +164,10 @@
      d  localname                      *   value options(*string)               const xmlChar *
      d  prefix                         *   value options(*string)               const xmlChar *
      d  URI                            *   value options(*string)               const xmlChar *
-     d  nb_namespaces                10i 0 value
+     d  nb_namespaces                      value like(xmlCint)
      d  namespaces                     *   value                                const xmlChar *(*)
-     d  nb_attributes                10i 0 value
-     d  nb_defaulted                 10i 0 value
+     d  nb_attributes                      value like(xmlCint)
+     d  nb_defaulted                       value like(xmlCint)
      d  attributes                     *                                        const xmlChar *(*)
 
      d xmlSAX2EndElementNs...
@@ -180,13 +186,13 @@
      d                 pr                  extproc('xmlSAX2Characters')
      d  ctx                            *   value                                void *
      d  ch                             *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlSAX2IgnorableWhitespace...
      d                 pr                  extproc('xmlSAX2IgnorableWhitespace')
      d  ctx                            *   value                                void *
      d  ch                             *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlSAX2ProcessingInstruction...
      d                 pr                  extproc(
@@ -204,23 +210,25 @@
      d                 pr                  extproc('xmlSAX2CDataBlock')
      d  ctx                            *   value                                void *
      d  value                          *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
       /if defined(LIBXML_SAX1_ENABLED)
      d xmlSAXDefaultVersion...
-     d                 pr            10i 0 extproc('xmlSAXDefaultVersion')
-     d  version                      10i 0 value
+     d                 pr                  extproc('xmlSAXDefaultVersion')
+     d                                     like(xmlCint)
+     d  version                            value like(xmlCint)
       /endif                                                                    LIBXML_SAX1_ENABLED
 
-     d xmlSAXVersion   pr            10i 0 extproc('xmlSAXVersion')
+     d xmlSAXVersion   pr                  extproc('xmlSAXVersion')
+     d                                     like(xmlCint)
      d  hdlr                               likeds(xmlSAXHandler)
-     d  version                      10i 0 value
+     d  version                            value like(xmlCint)
 
      d xmlSAX2InitDefaultSAXHandler...
      d                 pr                  extproc(
      d                                      'xmlSAX2InitDefaultSAXHandler')
      d  hdlr                               likeds(xmlSAXHandler)
-     d  warning                      10i 0 value
+     d  warning                            value like(xmlCint)
 
       /if defined(LIBXML_HTML_ENABLED)
      d xmlSAX2InitHtmlDefaultSAXHandler...
diff --git a/os400/libxmlrpg/c14n.rpgle b/os400/libxmlrpg/c14n.rpgle
index b64efb2..963ed37 100644
--- a/os400/libxmlrpg/c14n.rpgle
+++ b/os400/libxmlrpg/c14n.rpgle
@@ -21,6 +21,7 @@
       /if defined(LIBXML_C14N_ENABLED)
       /if defined(LIBXML_OUTPUT_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
       /include "libxmlrpg/tree"
       /include "libxmlrpg/xpath"
 
@@ -52,41 +53,45 @@
       * Predefined values for C14N modes
 
      d xmlBufferAllocationScheme...
-     d xmlC14NMode     s             10i 0 based(######typedef######)           enum
+     d xmlC14NMode     s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_C14N_1_0   c                   0                                    Original C14N 1.0
      d  XML_C14N_EXCLUSIVE_1_0...                                               Exclusive C14N 1.0
      d                 c                   1
      d  XML_C14N_1_1   c                   2                                    C14N 1.1 spec
 
      d xmlC14NDocSaveTo...
-     d                 pr            10i 0 extproc('xmlC14NDocSaveTo')
+     d                 pr                  extproc('xmlC14NDocSaveTo')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
      d  nodes                              value like(xmlNodeSetPtr)
-     d  mode                         10i 0 value
+     d  mode                               value like(xmlCint)
      d  inclusive_ns_prefixes...
-     d                                 *                                        xmlChar *(*)
-     d  with_comments                10i 0 value
+     d                                 *   options(*omit)                       xmlChar *(*)
+     d  with_comments                      value like(xmlCint)
      d  buf                                value like(xmlOutputBufferPtr)
 
      d xmlC14NDocDumpMemory...
-     d                 pr            10i 0 extproc('xmlC14NDocDumpMemory')
+     d                 pr                  extproc('xmlC14NDocDumpMemory')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
      d  nodes                              value like(xmlNodeSetPtr)
-     d  mode                         10i 0 value
+     d  mode                               value like(xmlCint)
      d  inclusive_ns_prefixes...
-     d                                 *                                        xmlChar *(*)
-     d  with_comments                10i 0 value
+     d                                 *   options(*omit)                       xmlChar *(*)
+     d  with_comments                      value like(xmlCint)
      d  doc_txt_ptr                    *                                        xmlChar *(*)
 
-     d xmlC14NDocSave  pr            10i 0 extproc('xmlC14NDocSave')
+     d xmlC14NDocSave  pr                  extproc('xmlC14NDocSave')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
      d  nodes                              value like(xmlNodeSetPtr)
-     d  mode                         10i 0 value
+     d  mode                               value like(xmlCint)
      d  inclusive_ns_prefixes...
-     d                                 *                                        xmlChar *(*)
-     d  with_comments                10i 0 value
+     d                                 *   options(*omit)                       xmlChar *(*)
+     d  with_comments                      value like(xmlCint)
      d  filename                       *   value options(*string)               const char *
-     d  compression                  10i 0 value
+     d  compression                        value like(xmlCint)
 
       * This is the core C14N function
 
@@ -103,15 +108,16 @@
      d                 s               *   based(######typedef######)
      d                                     procptr
 
-     d xmlC14NExecute  pr            10i 0 extproc('xmlC14NExecute')
+     d xmlC14NExecute  pr                  extproc('xmlC14NExecute')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
      d  is_visible_callback...
      d                                     value like(xmlC14NIsVisibleCallback)
      d  user_data                      *   value                                void *
-     d  mode                         10i 0 value
+     d  mode                               value like(xmlCint)
      d  inclusive_ns_prefixes...
-     d                                 *                                        xmlChar *(*)
-     d  with_comments                10i 0 value
+     d                                 *   options(*omit)                       xmlChar *(*)
+     d  with_comments                      value like(xmlCint)
      d  buf                                value like(xmlOutputBufferPtr)
 
       /endif                                                                    LIBXML_OUTPUT_ENABLD
diff --git a/os400/libxmlrpg/catalog.rpgle b/os400/libxmlrpg/catalog.rpgle
index 52baf4e..1dab819 100644
--- a/os400/libxmlrpg/catalog.rpgle
+++ b/os400/libxmlrpg/catalog.rpgle
@@ -16,11 +16,13 @@
       /define XML_CATALOG_H__
 
       /include "libxmlrpg/xmlversion"
-      /include "libxmlrpg/xmlstring"
-      /include "libxmlrpg/tree"
 
       /if defined(LIBXML_CATALOG_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
+      /include "libxmlrpg/xmlstring"
+      /include "libxmlrpg/tree"
+
       * XML_CATALOGS_NAMESPACE:
       *
       * The namespace for the XML Catalogs elements.
@@ -38,7 +40,8 @@
       * The API is voluntarily limited to general cataloging.
 
      d xmlCatalogPrefer...
-     d                 s             10u 0 based(######typedef######)           enum type
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d XML_CATA_PREFER_NONE...
      d                 c                   0
      d XML_CATA_PREFER_PUBLIC...
@@ -47,7 +50,8 @@
      d                 c                   2
 
      d xmlCatalogAllow...
-     d                 s             10u 0 based(######typedef######)           enum type
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d XML_CATA_ALLOW_NONE...
      d                 c                   0
      d XML_CATA_ALLOW_GLOBAL...
@@ -63,7 +67,7 @@
 
      d xmlNewCatalog   pr                  extproc('xmlNewCatalog')
      d                                     like(xmlCatalogPtr)
-     d  sgml                         10i 0 value
+     d  sgml                               value like(xmlCint)
 
      d xmlLoadACatalog...
      d                 pr                  extproc('xmlLoadACatalog')
@@ -76,17 +80,20 @@
      d  filename                       *   value options(*string)               const char *
 
      d xmlConvertSGMLCatalog...
-     d                 pr            10i 0 extproc('xmlConvertSGMLCatalog')
+     d                 pr                  extproc('xmlConvertSGMLCatalog')
+     d                                     like(xmlCint)
      d  catal                              value like(xmlCatalogPtr)
 
-     d xmlACatalogAdd  pr            10i 0 extproc('xmlACatalogAdd')
+     d xmlACatalogAdd  pr                  extproc('xmlACatalogAdd')
+     d                                     like(xmlCint)
      d  catal                              value like(xmlCatalogPtr)
      d  type                           *   value options(*string)               const xmlChar *
      d  orig                           *   value options(*string)               const xmlChar *
      d  replace                        *   value options(*string)               const xmlChar *
 
      d xmlACatalogRemove...
-     d                 pr            10i 0 extproc('xmlACatalogRemove')
+     d                 pr                  extproc('xmlACatalogRemove')
+     d                                     like(xmlCint)
      d  catal                              value like(xmlCatalogPtr)
      d  value                          *   value options(*string)               const xmlChar *
 
@@ -122,7 +129,8 @@
      d  catal                              value like(xmlCatalogPtr)
 
      d xmlCatalogIsEmpty...
-     d                 pr            10i 0 extproc('xmlCatalogIsEmpty')
+     d                 pr                  extproc('xmlCatalogIsEmpty')
+     d                                     like(xmlCint)
      d  catal                              value like(xmlCatalogPtr)
 
       * Global operations.
@@ -130,7 +138,8 @@
      d xmlInitializeCatalog...
      d                 pr                  extproc('xmlInitializeCatalog')
 
-     d xmlLoadCatalog  pr            10i 0 extproc('xmlLoadCatalog')
+     d xmlLoadCatalog  pr                  extproc('xmlLoadCatalog')
+     d                                     like(xmlCint)
      d  filename                       *   value options(*string)               const char *
 
      d xmlLoadCatalogs...
@@ -162,13 +171,15 @@
      d                 pr              *   extproc('xmlCatalogResolveURI')      xmlChar *
      d  URI                            *   value options(*string)               const xmlChar *
 
-     d xmlCatalogAdd   pr            10i 0 extproc('xmlCatalogAdd')
+     d xmlCatalogAdd   pr                  extproc('xmlCatalogAdd')
+     d                                     like(xmlCint)
      d  type                           *   value options(*string)               const xmlChar *
      d  orig                           *   value options(*string)               const xmlChar *
      d  replace                        *   value options(*string)               const xmlChar *
 
      d xmlCatalogRemove...
-     d                 pr            10i 0 extproc('xmlCatalogRemove')
+     d                 pr                  extproc('xmlCatalogRemove')
+     d                                     like(xmlCint)
      d  value                          *   value options(*string)               const xmlChar *
 
      d xmlParseCatalogFile...
@@ -177,7 +188,8 @@
      d  filename                       *   value options(*string)               const char *
 
      d xmlCatalogConvert...
-     d                 pr            10i 0 extproc('xmlCatalogConvert')
+     d                 pr                  extproc('xmlCatalogConvert')
+     d                                     like(xmlCint)
 
       * Strictly minimal interfaces for per-document catalogs used
       * by the parser.
@@ -205,8 +217,9 @@
       * Preference settings.
 
      d xmlCatalogSetDebug...
-     d                 pr            10i 0 extproc('xmlCatalogSetDebug')
-     d  level                        10i 0 value
+     d                 pr                  extproc('xmlCatalogSetDebug')
+     d                                     like(xmlCint)
+     d  level                              value like(xmlCint)
 
      d xmlCatalogSetDefaultPrefer...
      d                 pr                  extproc('xmlCatalogSetDefaultPrefer')
diff --git a/os400/libxmlrpg/chvalid.rpgle b/os400/libxmlrpg/chvalid.rpgle
index 444d1cb..c601442 100644
--- a/os400/libxmlrpg/chvalid.rpgle
+++ b/os400/libxmlrpg/chvalid.rpgle
@@ -26,8 +26,8 @@
 
      d xmlChLRange     ds                  based(xmlChLRangePtr)
      d                                     align qualified
-     d  low                          10u 0
-     d  high                         10u 0
+     d  low                                like(xmlCuint)
+     d  high                               like(xmlCuint)
 
      d xmlChRangeGroupPtr...
      d                 s               *   based(######typedef######)
@@ -35,15 +35,16 @@
      d xmlChRangeGroup...
      d                 ds                  based(xmlChRangeGroupPtr)
      d                                     align qualified
-     d  nbShortRange                 10i 0
-     d  nbLongRange                  10i 0
+     d  nbShortRange                       like(xmlCint)
+     d  nbLongRange                        like(xmlCint)
      d  shortRange                         like(xmlChSRangePtr)
      d  longRange                          like(xmlChLRangePtr)
 
       * Range checking routine
 
-     d xmlCharInRange  pr            10i 0 extproc('xmlCharInRange')
-     d val                           10u 0 value
+     d xmlCharInRange  pr                  extproc('xmlCharInRange')
+     d                                     like(xmlCint)
+     d val                                 value like(xmlCuint)
      d group                               like(xmlChRangeGroupPtr)             const
 
      d xmlIsBaseCharGroup...
@@ -70,29 +71,37 @@
      d                 ds                  import('xmlIsIdeographicGroup')
      d                                     likeds(xmlChRangeGroup)              const
 
-     d xmlIsBaseChar   pr            10i 0 extproc('xmlIsBaseChar')
-     d ch                            10u 0 value
+     d xmlIsBaseChar   pr                  extproc('xmlIsBaseChar')
+     d                                     like(xmlCint)
+     d ch                                  value like(xmlCuint)
 
-     d xmlIsBlank      pr            10i 0 extproc('xmlIsBlank')
-     d ch                            10u 0 value
+     d xmlIsBlank      pr                  extproc('xmlIsBlank')
+     d                                     like(xmlCint)
+     d ch                                  value like(xmlCuint)
 
-     d xmlIsChar       pr            10i 0 extproc('xmlIsChar')
-     d ch                            10u 0 value
+     d xmlIsChar       pr                  extproc('xmlIsChar')
+     d                                     like(xmlCint)
+     d ch                                  value like(xmlCuint)
 
-     d xmlIsCombining  pr            10i 0 extproc('xmlIsCombining')
-     d ch                            10u 0 value
+     d xmlIsCombining  pr                  extproc('xmlIsCombining')
+     d                                     like(xmlCint)
+     d ch                                  value like(xmlCuint)
 
-     d xmlIsDigit      pr            10i 0 extproc('xmlIsDigit')
-     d ch                            10u 0 value
+     d xmlIsDigit      pr                  extproc('xmlIsDigit')
+     d                                     like(xmlCint)
+     d ch                                  value like(xmlCuint)
 
-     d xmlIsExtender   pr            10i 0 extproc('xmlIsExtender')
-     d ch                            10u 0 value
+     d xmlIsExtender   pr                  extproc('xmlIsExtender')
+     d                                     like(xmlCint)
+     d ch                                  value like(xmlCuint)
 
      d xmlIsIdeographic...
-     d                 pr            10i 0 extproc('xmlIsIdeographic')
-     d ch                            10u 0 value
+     d                 pr                  extproc('xmlIsIdeographic')
+     d                                     like(xmlCint)
+     d ch                                  value like(xmlCuint)
 
-     d xmlIsPubidChar  pr            10i 0 extproc('xmlIsPubidChar')
-     d ch                            10u 0 value
+     d xmlIsPubidChar  pr                  extproc('xmlIsPubidChar')
+     d                                     like(xmlCint)
+     d ch                                  value like(xmlCuint)
 
       /endif                                                                    XML_CHVALID_H__
diff --git a/os400/libxmlrpg/debugXML.rpgle b/os400/libxmlrpg/debugXML.rpgle
index 5005a2d..81826bc 100644
--- a/os400/libxmlrpg/debugXML.rpgle
+++ b/os400/libxmlrpg/debugXML.rpgle
@@ -10,10 +10,11 @@
       /define DEBUG_XML__
 
       /include "libxmlrpg/xmlversion"
-      /include "libxmlrpg/tree"
 
       /if defined(LIBXML_DEBUG_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
+      /include "libxmlrpg/tree"
       /include "libxmlrpg/xpath"
 
       * The standard Dump routines.
@@ -27,31 +28,31 @@
      d                 pr                  extproc('xmlDebugDumpAttr')
      d  output                         *   value                                FILE *
      d  attr                               value like(xmlAttrPtr)
-     d  depth                        10i 0 value
+     d  depth                              value like(xmlCint)
 
      d xmlDebugDumpAttrList...
      d                 pr                  extproc('xmlDebugDumpAttrList')
      d  output                         *   value                                FILE *
      d  attr                               value like(xmlAttrPtr)
-     d  depth                        10i 0 value
+     d  depth                              value like(xmlCint)
 
      d xmlDebugDumpOneNode...
      d                 pr                  extproc('xmlDebugDumpOneNode')
      d  output                         *   value                                FILE *
      d  node                               value like(xmlNodePtr)
-     d  depth                        10i 0 value
+     d  depth                              value like(xmlCint)
 
      d xmlDebugDumpNode...
      d                 pr                  extproc('xmlDebugDumpNode')
      d  output                         *   value                                FILE *
      d  node                               value like(xmlNodePtr)
-     d  depth                        10i 0 value
+     d  depth                              value like(xmlCint)
 
      d xmlDebugDumpNodeList...
      d                 pr                  extproc('xmlDebugDumpNodeList')
      d  output                         *   value                                FILE *
      d  node                               value like(xmlNodePtr)
-     d  depth                        10i 0 value
+     d  depth                              value like(xmlCint)
 
      d xmlDebugDumpDocumentHead...
      d                 pr                  extproc('xmlDebugDumpDocumentHead')
@@ -80,7 +81,8 @@
       ****************************************************************
 
      d xmlDebugCheckDocument...
-     d                 pr            10i 0 extproc('xmlDebugCheckDocument')
+     d                 pr                  extproc('xmlDebugCheckDocument')
+     d                                     like(xmlCint)
      d  output                         *   value                                FILE *
      d  doc                                value like(xmlDocPtr)
 
@@ -94,11 +96,12 @@
      d  output                         *   value                                FILE *
      d  node                               value like(xmlNodePtr)
 
-     d xmlLsCountNode  pr            10i 0 extproc('xmlLsCountNode')
+     d xmlLsCountNode  pr                  extproc('xmlLsCountNode')
+     d                                     like(xmlCint)
      d  node                               value like(xmlNodePtr)
 
      d xmlBoolToText   pr              *   extproc('xmlBoolToText')             const char *
-     d  boolval                      10i 0 value
+     d  boolval                            value like(xmlCint)
 
       ****************************************************************
       *                                                              *
@@ -133,7 +136,7 @@
      d  doc                                like(xmlDocPtr)
      d  node                               like(xmlNodePtr)
      d  pctxt                              like(xmlXPathContextPtr)
-     d  loaded                       10i 0
+     d  loaded                             like(xmlCint)
      d  output                         *                                        FILE *
      d  input                              like(xmlShellReadlineFunc)
 
@@ -152,32 +155,36 @@
 
      d xmlShellPrintXPathError...
      d                 pr                  extproc('xmlShellPrintXPathError')
-     d  errorType                    10i 0 value
+     d  errorType                          value like(xmlCint)
      d  arg                            *   value options(*string)               const char *
 
      d xmlShellPrintXPathResult...
      d                 pr                  extproc('xmlShellPrintXPathResult')
      d  list                               value like(xmlXPathObjectPtr)
 
-     d xmlShellList    pr            10i 0 extproc('xmlShellList')
+     d xmlShellList    pr                  extproc('xmlShellList')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlShellCtxtPtr)
      d  arg                            *   value options(*string)               char *
      d  node                               value like(xmlNodePtr)
      d  node2                              value like(xmlNodePtr)
 
-     d xmlShellBase    pr            10i 0 extproc('xmlShellBase')
+     d xmlShellBase    pr                  extproc('xmlShellBase')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlShellCtxtPtr)
      d  arg                            *   value options(*string)               char *
      d  node                               value like(xmlNodePtr)
      d  node2                              value like(xmlNodePtr)
 
-     d xmlShellDir     pr            10i 0 extproc('xmlShellDir')
+     d xmlShellDir     pr                  extproc('xmlShellDir')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlShellCtxtPtr)
      d  arg                            *   value options(*string)               char *
      d  node                               value like(xmlNodePtr)
      d  node2                              value like(xmlNodePtr)
 
-     d xmlShellLoad    pr            10i 0 extproc('xmlShellLoad')
+     d xmlShellLoad    pr                  extproc('xmlShellLoad')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlShellCtxtPtr)
      d  filename                       *   value options(*string)               char *
      d  node                               value like(xmlNodePtr)
@@ -188,19 +195,22 @@
      d                 pr                  extproc('xmlShellPrintNode')
      d  node                               value like(xmlNodePtr)
 
-     d xmlShellCat     pr            10i 0 extproc('xmlShellCat')
+     d xmlShellCat     pr                  extproc('xmlShellCat')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlShellCtxtPtr)
      d  arg                            *   value options(*string)               char *
      d  node                               value like(xmlNodePtr)
      d  node2                              value like(xmlNodePtr)
 
-     d xmlShellWrite   pr            10i 0 extproc('xmlShellWrite')
+     d xmlShellWrite   pr                  extproc('xmlShellWrite')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlShellCtxtPtr)
      d  filename                       *   value options(*string)               char *
      d  node                               value like(xmlNodePtr)
      d  node2                              value like(xmlNodePtr)
 
-     d xmlShellSave    pr            10i 0 extproc('xmlShellSave')
+     d xmlShellSave    pr                  extproc('xmlShellSave')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlShellCtxtPtr)
      d  filename                       *   value options(*string)               char *
      d  node                               value like(xmlNodePtr)
@@ -209,20 +219,23 @@
 
       /if defined(LIBXML_VALID_ENABLED)
      d xmlShellValidate...
-     d                 pr            10i 0 extproc('xmlShellValidate')
+     d                 pr                  extproc('xmlShellValidate')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlShellCtxtPtr)
      d  dtd                            *   value options(*string)               char *
      d  node                               value like(xmlNodePtr)
      d  node2                              value like(xmlNodePtr)
       /endif                                                                    LIBXML_VALID_ENABLED
 
-     d xmlShellDu      pr            10i 0 extproc('xmlShellDu')
+     d xmlShellDu      pr                  extproc('xmlShellDu')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlShellCtxtPtr)
      d  arg                            *   value options(*string)               char *
      d  tree                               value like(xmlNodePtr)
      d  node2                              value like(xmlNodePtr)
 
-     d xmlShellPwd     pr            10i 0 extproc('xmlShellPwd')
+     d xmlShellPwd     pr                  extproc('xmlShellPwd')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlShellCtxtPtr)
      d  buffer                         *   value options(*string)               char *
      d  node                               value like(xmlNodePtr)
diff --git a/os400/libxmlrpg/dict.rpgle b/os400/libxmlrpg/dict.rpgle
index bcb6576..c061e4c 100644
--- a/os400/libxmlrpg/dict.rpgle
+++ b/os400/libxmlrpg/dict.rpgle
@@ -9,18 +9,19 @@
       /if not defined(XML_DICT_H__)
       /define XML_DICT_H__
 
-      /include "libxmlrpg/xmlversion"
-      /include "libxmlrpg/xmlTypesC"
-      /include "libxmlrpg/tree"
-
       * The dictionary.
 
      d xmlDictPtr      s               *   based(######typedef######)
 
+      /include "libxmlrpg/xmlversion"
+      /include "libxmlrpg/xmlTypesC"
+      /include "libxmlrpg/tree"
+
       * Initializer
 
      d xmlInitializeDict...
-     d                 pr            10i 0 extproc('xmlInitializeDict')
+     d                 pr                  extproc('xmlInitializeDict')
+     d                                     like(xmlCint)
 
       * Constructor and destructor.
 
@@ -44,7 +45,8 @@
      d  sub                                value like(xmlDictPtr)
 
      d xmlDictReference...
-     d                 pr            10i 0 extproc('xmlDictGetReference')
+     d                 pr                  extproc('xmlDictGetReference')
+     d                                     like(xmlCint)
      d  dict                               value like(xmlDictPtr)
 
      d xmlDictFree     pr                  extproc('xmlDictFree')
@@ -55,23 +57,25 @@
      d xmlDictLookup   pr              *   extproc('xmlDictLookup')             const xmlChar *
      d  dict                               value like(xmlDictPtr)
      d  name                           *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlDictExists   pr              *   extproc('xmlDictExists')             const xmlChar *
      d  dict                               value like(xmlDictPtr)
      d  name                           *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlDictQLookup  pr              *   extproc('xmlDictQLookup')            const xmlChar *
      d  dict                               value like(xmlDictPtr)
      d  name                           *   value options(*string)               const xmlChar *
      d  name                           *   value options(*string)               const xmlChar *
 
-     d xmlDictOwns     pr            10i 0 extproc('xmlDictOwns')
+     d xmlDictOwns     pr                  extproc('xmlDictOwns')
+     d                                     like(xmlCint)
      d  dict                               value like(xmlDictPtr)
      d  str                            *   value options(*string)               const xmlChar *
 
-     d xmlDictSize     pr            10i 0 extproc('xmlDictSize')
+     d xmlDictSize     pr                  extproc('xmlDictSize')
+     d                                     like(xmlCint)
      d  dict                               value like(xmlDictPtr)
 
       * Cleanup function
diff --git a/os400/libxmlrpg/encoding.rpgle b/os400/libxmlrpg/encoding.rpgle
index c0ed7e6..8153f3c 100644
--- a/os400/libxmlrpg/encoding.rpgle
+++ b/os400/libxmlrpg/encoding.rpgle
@@ -21,6 +21,7 @@
       /define XML_CHAR_ENCODING_H__
 
       /include "libxmlrpg/xmlversion"
+      /include "libxmlrpg/xmlTypesC"
 
       * xmlCharEncoding:
       *
@@ -43,7 +44,8 @@
       * the specific UTF-16LE and UTF-16BE are present.
 
      d xmlCharEncoding...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_CHAR_ENCODING_ERROR...                                              No encoding detected
      d                 c                   -1
      d  XML_CHAR_ENCODING_NONE...                                               No encoding detected
@@ -200,12 +202,14 @@
       * Interfaces for encoding names and aliases.
 
      d xmlAddEncodingAlias...
-     d                 pr            10i 0 extproc('xmlAddEncodingAlias')
+     d                 pr                  extproc('xmlAddEncodingAlias')
+     d                                     like(xmlCint)
      d  name                           *   value options(*string)               const char *
      d  alias                          *   value options(*string)               const char *
 
      d xmlDelEncodingAlias...
-     d                 pr            10i 0 extproc('xmlDelEncodingAlias')
+     d                 pr                  extproc('xmlDelEncodingAlias')
+     d                                     like(xmlCint)
      d  alias                          *   value options(*string)               const char *
 
      d xmlGetEncodingAlias...
@@ -230,45 +234,51 @@
      d                 pr                  extproc('xmlDetectCharEncoding')
      d                                     like(xmlCharEncoding)
      d  in                             *   value options(*string)               const unsigned char*
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlCharEncOutFunc...
-     d                 pr            10i 0 extproc('xmlCharEncOutFunc')
+     d                 pr                  extproc('xmlCharEncOutFunc')
+     d                                     like(xmlCint)
      d  handler                            likeds(xmlCharEncodingHandler)
      d  out                                value like(xmlBufferPtr)
      d  in                                 value like(xmlBufferPtr)
 
      d xmlCharEncInFunc...
-     d                 pr            10i 0 extproc('xmlCharEncInFunc')
+     d                 pr                  extproc('xmlCharEncInFunc')
+     d                                     like(xmlCint)
      d  handler                            likeds(xmlCharEncodingHandler)
      d  out                                value like(xmlBufferPtr)
      d  in                                 value like(xmlBufferPtr)
 
      d xmlCharEncFirstLine...
-     d                 pr            10i 0 extproc('xmlCharEncFirstLine')
+     d                 pr                  extproc('xmlCharEncFirstLine')
+     d                                     like(xmlCint)
      d  handler                            likeds(xmlCharEncodingHandler)
      d  out                                value like(xmlBufferPtr)
      d  in                                 value like(xmlBufferPtr)
 
      d xmlCharEncCloseFunc...
-     d                 pr            10i 0 extproc('xmlCharEncCloseFunc')
+     d                 pr                  extproc('xmlCharEncCloseFunc')
+     d                                     like(xmlCint)
      d  handler                            likeds(xmlCharEncodingHandler)
 
       * Export a few useful functions
 
       /if defined(LIBXML_OUTPUT_ENABLED)
-     d UTF8Toisolat1   pr            10i 0 extproc('UTF8Toisolat1')
+     d UTF8Toisolat1   pr                  extproc('UTF8Toisolat1')
+     d                                     like(xmlCint)
      d  out                       65535    options(*varsize)                    unsigned char (*)
-     d  outlen                       10i 0
+     d  outlen                             like(xmlCint)
      d  in                             *   value options(*string)               const unsigned char*
-     d  inlen                        10i 0
+     d  inlen                              like(xmlCint)
 
       /endif                                                                    LIBXML_OUTPUT_ENABLD
 
-     d isolat1ToUTF8   pr            10i 0 extproc('isolat1ToUTF8')
+     d isolat1ToUTF8   pr                  extproc('isolat1ToUTF8')
+     d                                     like(xmlCint)
      d  out                       65535    options(*varsize)                    unsigned char (*)
-     d  outlen                       10i 0
+     d  outlen                             like(xmlCint)
      d  in                             *   value options(*string)               const unsigned char*
-     d  inlen                        10i 0
+     d  inlen                              like(xmlCint)
 
       /endif                                                                    XML_CHAR_ENCODING_H
diff --git a/os400/libxmlrpg/entities.rpgle b/os400/libxmlrpg/entities.rpgle
index 8d97915..eeec1b6 100644
--- a/os400/libxmlrpg/entities.rpgle
+++ b/os400/libxmlrpg/entities.rpgle
@@ -10,11 +10,13 @@
       /define XML_ENTITIES_H__
 
       /include "libxmlrpg/xmlversion"
+      /include "libxmlrpg/xmlTypesC"
       /include "libxmlrpg/tree"
 
       * The different valid entity types.
 
-     d xmlEntityType   s             10i 0 based(######typedef######)           enum
+     d xmlEntityType   s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_INTERNAL_GENERAL_ENTITY...
      d                 c                   1
      d  XML_EXTERNAL_GENERAL_PARSED_ENTITY...
@@ -44,14 +46,14 @@
      d  doc                                like(xmlDocPtr)                      containing document
      d  orig                           *                                        xmlChar *
      d  content                        *                                        xmlChar *
-     d  length                       10i 0                                      content length
+     d  length                             like(xmlCint)                        content length
      d  etype                              like(xmlEntityType)                  The entity type
      d  ExternalID                     *                                        const xmlChar *
      d  SystemlID                      *                                        const xmlChar *
      d  nexte                              like(xmlEntityPtr)                   unused
      d  URI                            *                                        const xmlChar *
-     d  owner                        10i 0                                      Owns children ?
-     d  checked                      10i 0                                      Content checked ?
+     d  owner                              like(xmlCint)                        Owns children ?
+     d  checked                            like(xmlCint)                        Content checked ?
 
       * All entities are stored in an hash table.
       * There is 2 separate hash tables for global and parameter entities.
@@ -71,7 +73,7 @@
      d                                     like(xmlEntityPtr)
      d  doc                                value like(xmlDocPtr)
      d  name                           *   value options(*string)               const xmlChar *
-     d  type                         10i 0 value
+     d  type                               value like(xmlCint)
      d  ExternalID                     *   value options(*string)               const xmlChar *
      d  SystemID                       *   value options(*string)               const xmlChar *
      d  content                        *   value options(*string)               const xmlChar *
@@ -81,7 +83,7 @@
      d                                     like(xmlEntityPtr)
      d  doc                                value like(xmlDocPtr)
      d  name                           *   value options(*string)               const xmlChar *
-     d  type                         10i 0 value
+     d  type                               value like(xmlCint)
      d  ExternalID                     *   value options(*string)               const xmlChar *
      d  SystemID                       *   value options(*string)               const xmlChar *
      d  content                        *   value options(*string)               const xmlChar *
@@ -91,7 +93,7 @@
      d                                     like(xmlEntityPtr)
      d  doc                                value like(xmlDocPtr)
      d  name                           *   value options(*string)               const xmlChar *
-     d  type                         10i 0 value
+     d  type                               value like(xmlCint)
      d  ExternalID                     *   value options(*string)               const xmlChar *
      d  SystemID                       *   value options(*string)               const xmlChar *
      d  content                        *   value options(*string)               const xmlChar *
diff --git a/os400/libxmlrpg/globals.rpgle b/os400/libxmlrpg/globals.rpgle
index e51182f..3fe3a9b 100644
--- a/os400/libxmlrpg/globals.rpgle
+++ b/os400/libxmlrpg/globals.rpgle
@@ -13,6 +13,7 @@
       /define XML_GLOBALS_H
 
       /include "libxmlrpg/xmlversion"
+      /include "libxmlrpg/xmlTypesC"
       /include "libxmlrpg/parser"
       /include "libxmlrpg/xmlerror"
       /include "libxmlrpg/SAX"
@@ -112,31 +113,31 @@
      d  xmlGenericErrorContext...
      d                                 *                                        void *
      d  oldXMLWDcompatibility...
-     d                               10i 0
+     d                                     like(xmlCint)
      d  xmlBufferAllocScheme...
      d                                     like(xmlBufferAllocationScheme)
      d  xmlDefaultBufferSize...
-     d                               10i 0
+     d                                     like(xmlCint)
      d  xmlSubstituteEntitiesDefaultValue...
-     d                               10i 0
+     d                                     like(xmlCint)
      d  xmlDoValidityCheckingDefaultValue...
-     d                               10i 0
+     d                                     like(xmlCint)
      d  xmlGetWarningsDefaultValue...
-     d                               10i 0
+     d                                     like(xmlCint)
      d  xmlKeepBlanksDefaultValue...
-     d                               10i 0
+     d                                     like(xmlCint)
      d  xmlLineNumbersDefaultValue...
-     d                               10i 0
+     d                                     like(xmlCint)
      d  xmlLoadExtDtdDefaultValue...
-     d                               10i 0
+     d                                     like(xmlCint)
      d  xmlParserDebugEntities...
-     d                               10i 0
+     d                                     like(xmlCint)
      d  xmlPedanticParserDefaultValue...
-     d                               10i 0
+     d                                     like(xmlCint)
      d  xmlSaveNoEmptyTags...
-     d                               10i 0
+     d                                     like(xmlCint)
      d  xmlIndentTreeOutput...
-     d                               10i 0
+     d                                     like(xmlCint)
      d  xmlTreeIndentString...
      d                                 *                                        const char *
      d  xmlRegisterNodeDefaultValue...
@@ -244,13 +245,14 @@
      d  value                              value likeds(xmlError)
 
      d get_oldXMLWDcompatibility...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                       '__get_oldXMLWDcompatibility')
+     d                                     like(xmlCint)
 
      d set_oldXMLWDcompatibility...
      d                 pr                  extproc(
      d                                       '__set_oldXMLWDcompatibility')
-     d  value                        10i 0 value
+     d  value                              value like(xmlCint)
 
      d get_xmlBufferAllocScheme...
      d                 pr                  extproc('__get_xmlBufferAllocScheme')
@@ -266,15 +268,17 @@
      d  v                                  value like(xmlBufferAllocationScheme)
 
      d get_xmlDefaultBufferSize...
-     d                 pr            10i 0 extproc('__get_xmlDefaultBufferSize')
+     d                 pr                  extproc('__get_xmlDefaultBufferSize')
+     d                                     like(xmlCint)
 
      d set_xmlDefaultBufferSize...
      d                 pr                  extproc('__set_xmlDefaultBufferSize')
-     d  value                        10i 0 value
+     d  value                              value like(xmlCint)
 
      d xmlThrDefDefaultBufferSize...
-     d                 pr            10i 0 extproc('xmlThrDefDefaultBufferSize')
-     d  v                            10i 0 value
+     d                 pr                  extproc('xmlThrDefDefaultBufferSize')
+     d                                     like(xmlCint)
+     d  v                                  value like(xmlCint)
 
      d get_xmlDefaultSAXHandler...
      d                 pr                  extproc('__get_xmlDefaultSAXHandler')
@@ -293,18 +297,20 @@
      d  value                              value likeds(xmlSAXLocator)
 
      d get_xmlDoValidityCheckingDefaultValue...
-     d                 pr            10i 0 extproc('__get_xmlDoValidity+
+     d                 pr                  extproc('__get_xmlDoValidity+
      d                                       CheckingDefaultValue')
+     d                                     like(xmlCint)
 
      d set_xmlDoValidityCheckingDefaultValue...
      d                 pr                  extproc('__set_xmlDoValidity+
      d                                       CheckingDefaultValue')
-     d  value                        10i 0 value
-    
+     d  value                              value like(xmlCint)
+
      d xmlThrDefDoValidityCheckingDefaultValue...
-     d                 pr            10i 0 extproc('xmlThrDefDoValidity+
+     d                 pr                  extproc('xmlThrDefDoValidity+
      d                                       CheckingDefaultValue')
-     d  v                            10i 0 value
+     d                                     like(xmlCint)
+     d  v                                  value like(xmlCint)
 
      d get_xmlGenericError...
      d                 pr                  extproc('__get_xmlGenericError')
@@ -325,7 +331,7 @@
      d xmlStructuredError...
      d                 pr                  extproc('__call_xmlStructuredError')
      d  userData                       *   value options(*string)               void *
-     d  error                              value like(xmlErrorPtr) 
+     d  error                              value like(xmlErrorPtr)
 
      d get_xmlGenericErrorContext...
      d                 pr                  extproc(
@@ -348,29 +354,33 @@
      d  value                          *   value options(*string)               void *
 
      d get_xmlGetWarningsDefaultValue...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                       '__get_xmlGetWarningsDefaultValue')
+     d                                     like(xmlCint)
 
      d set_xmlGetWarningsDefaultValue...
      d                 pr                  extproc(
      d                                       '__set_xmlGetWarningsDefaultValue')
-     d  value                        10i 0 value
+     d  value                              value like(xmlCint)
 
      d xmlThrDefGetWarningsDefaultValue...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                       'xmlThrDefGetWarningsDefaultValue')
-     d  v                            10i 0 value
+     d                                     like(xmlCint)
+     d  v                                  value like(xmlCint)
 
      d get_xmlIndentTreeOutput...
-     d                 pr            10i 0 extproc('__get_xmlIndentTreeOutput')
+     d                 pr                  extproc('__get_xmlIndentTreeOutput')
+     d                                     like(xmlCint)
 
      d set_xmlIndentTreeOutput...
-     d                 pr                   extproc('__set_xmlIndentTreeOutput')
-     d  value                        10i 0 value
+     d                 pr                  extproc('__set_xmlIndentTreeOutput')
+     d  value                              value like(xmlCint)
 
      d xmlThrDefIndentTreeOutput...
-     d                 pr            10i 0 extproc('xmlThrDefIndentTreeOutput')
-     d  v                            10i 0 value
+     d                 pr                  extproc('xmlThrDefIndentTreeOutput')
+     d                                     like(xmlCint)
+     d  v                                  value like(xmlCint)
 
      d get_xmlTreeIndentString...
      d                 pr              *   extproc('__get_xmlTreeIndentString') const char *
@@ -378,66 +388,74 @@
      d set_xmlTreeIndentString...
      d                 pr                  extproc('__set_xmlTreeIndentString')
      d  value                          *   value options(*string)               const char *
- 
+
      d xmlThrDefTreeIndentString...
      d                 pr              *   extproc('xmlThrDefTreeIndentString') const char *
      d  v                              *   value options(*string)               const char *
 
      d get_xmlKeepBlanksDefaultValue...
-     d                 pr            10i 0 extproc(
-     d                                       '__get_xmlKeepBlanksDefaultValue') 
+     d                 pr                  extproc(
+     d                                       '__get_xmlKeepBlanksDefaultValue')
+     d                                     like(xmlCint)
 
      d set_xmlKeepBlanksDefaultValue...
      d                 pr                  extproc(
-     d                                       '__set_xmlKeepBlanksDefaultValue') 
-     d  value                        10i 0 value
+     d                                       '__set_xmlKeepBlanksDefaultValue')
+     d  value                              value like(xmlCint)
 
      d xmlThrDefKeepBlanksDefaultValue...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                       'xmlThrDefKeepBlanksDefaultValue')
-     d  v                            10i 0 value
+     d                                     like(xmlCint)
+     d  v                                  value like(xmlCint)
 
      d get_xmlLineNumbersDefaultValue...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                       '__get_xmlLineNumbersDefaultValue')
+     d                                     like(xmlCint)
 
      d set_xmlLineNumbersDefaultValue...
      d                 pr                  extproc(
      d                                       '__set_xmlLineNumbersDefaultValue')
-     d  value                        10i 0 value
+     d  value                              value like(xmlCint)
 
      d xmlThrDefLineNumbersDefaultValue...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                       'xmlThrDefLineNumbersDefaultValue')
-     d  v                            10i 0 value
+     d                                     like(xmlCint)
+     d  v                                  value like(xmlCint)
 
      d get_xmlLoadExtDtdDefaultValue...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                       '__get_xmlLoadExtDtdDefaultValue')
+     d                                     like(xmlCint)
 
      d set_xmlLoadExtDtdDefaultValue...
      d                 pr                  extproc(
      d                                       '__set_xmlLoadExtDtdDefaultValue')
-     d  value                        10i 0 value
+     d  value                              value like(xmlCint)
 
      d xmlThrDefLoadExtDtdDefaultValue...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                       'xmlThrDefLoadExtDtdDefaultValue')
-     d  v                            10i 0 value
+     d                                     like(xmlCint)
+     d  v                                  value like(xmlCint)
 
      d get_xmlParserDebugEntities...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                       '__get_xmlParserDebugEntities')
+     d                                     like(xmlCint)
 
      d set_xmlParserDebugEntities...
      d                 pr                  extproc(
      d                                       '__set_xmlParserDebugEntities')
-     d  value                        10i 0 value
+     d  value                              value like(xmlCint)
 
      d xmlThrDefParserDebugEntities...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                       'xmlThrDefParserDebugEntities')
-     d  v                            10i 0 value
+     d                                     like(xmlCint)
+     d  v                                  value like(xmlCint)
 
      d get_xmlParserVersion...
      d                 pr              *   extproc('__get_xmlParserVersion')    const char *
@@ -447,43 +465,49 @@
      d  value                          *   value options(*string)               const char *
 
      d get_xmlPedanticParserDefaultValue...
-     d                 pr            10i 0 extproc('__get_xmlPedantic+
+     d                 pr                  extproc('__get_xmlPedantic+
      d                                       ParserDefaultValue')
+     d                                     like(xmlCint)
 
      d set_xmlPedanticParserDefaultValue...
      d                 pr                  extproc('__set_xmlPedantic+
      d                                       ParserDefaultValue')
-     d  value                        10i 0 value
+     d  value                              value like(xmlCint)
 
      d xmlThrDefPedanticParserDefaultValue...
-     d                 pr            10i 0 extproc('xmlThrDefPedantic+
+     d                 pr                  extproc('xmlThrDefPedantic+
      d                                       ParserDefaultValue')
-     d  v                            10i 0 value
+     d                                     like(xmlCint)
+     d  v                                  value like(xmlCint)
 
      d get_xmlSaveNoEmptyTags...
-     d                 pr            10i 0 extproc('__get_xmlSaveNoEmptyTags')
+     d                 pr                  extproc('__get_xmlSaveNoEmptyTags')
+     d                                     like(xmlCint)
 
      d set_xmlSaveNoEmptyTags...
      d                 pr                  extproc('__set_xmlSaveNoEmptyTags')
-     d  value                        10i 0 value
+     d  value                              value like(xmlCint)
 
      d xmlThrDefSaveNoEmptyTags...
-     d                 pr            10i 0 extproc('xmlThrDefSaveNoEmptyTags')
-     d  v                            10i 0 value
+     d                 pr                  extproc('xmlThrDefSaveNoEmptyTags')
+     d                                     like(xmlCint)
+     d  v                                  value like(xmlCint)
 
      d get_xmlSubstituteEntitiesDefaultValue...
-     d                 pr            10i 0 extproc('__get_xmlSubstitute+
+     d                 pr                  extproc('__get_xmlSubstitute+
      d                                       EntitiesDefaultValue')
+     d                                     like(xmlCint)
 
      d set_xmlSubstituteEntitiesDefaultValue...
      d                 pr                  extproc('__set_xmlSubstitute+
      d                                       EntitiesDefaultValue')
-     d  value                        10i 0 value
+     d  value                              value like(xmlCint)
 
      d xmlThrDefSubstituteEntitiesDefaultValue...
-     d                 pr            10i 0 extproc('xmlThrDefSubstitute+
+     d                 pr                  extproc('xmlThrDefSubstitute+
      d                                       EntitiesDefaultValue')
-     d  v                            10i 0 value
+     d                                     like(xmlCint)
+     d  v                                  value like(xmlCint)
 
      d get_xmlRegisterNodeDefaultValue...
      d                 pr                  extproc('__get_xmlRegisterNode+
@@ -552,6 +576,6 @@
      d                                     like(xmlOutputBufferPtr)
      d  URI                            *   value options(*string)               const char *
      d  encoder                            value like(xmlCharEncodingHandlerPtr)
-     d  compression                  10i 0 value
+     d  compression                        value like(xmlCint)
 
       /endif                                                                    XML_GLOBALS_H
diff --git a/os400/libxmlrpg/hash.rpgle b/os400/libxmlrpg/hash.rpgle
index 867f98f..b2169df 100644
--- a/os400/libxmlrpg/hash.rpgle
+++ b/os400/libxmlrpg/hash.rpgle
@@ -9,6 +9,8 @@
       /if not defined(XML_HASH_H__)
       /define XML_HASH_H__
 
+      /include "libxmlrpg/xmlTypesC"
+
       * The hash table.
 
      d xmlHashTablePtr...
@@ -68,12 +70,12 @@
 
      d xmlHashCreate   pr                  extproc('xmlHashCreate')
      d                                     like(xmlHashTablePtr)
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
 
      d xmlHashCreateDict...
      d                 pr                  extproc('xmlHashCreateDict')
      d                                     like(xmlHashTablePtr)
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
      d  dict                               value like(xmlDictPtr)
 
      d xmlHashFree     pr                  extproc('xmlHashFree')
@@ -83,27 +85,31 @@
       * Add a new entry to the hash table.
 
      d xmlHashAddEntry...
-     d                 pr            10i 0 extproc('xmlHashAddEntry')
+     d                 pr                  extproc('xmlHashAddEntry')
+     d                                     like(xmlCint)
      d  table                              value like(xmlHashTablePtr)
      d  name                           *   value options(*string)               const xmlChar *
      d  userdata                       *   value options(*string)               void *
 
      d xmlHashUpdateEntry...
-     d                 pr            10i 0 extproc('xmlHashUpdateEntry')
+     d                 pr                  extproc('xmlHashUpdateEntry')
+     d                                     like(xmlCint)
      d  table                              value like(xmlHashTablePtr)
      d  name                           *   value options(*string)               const xmlChar *
      d  userdata                       *   value options(*string)               void *
      d  f                                  value like(xmlHashDeallocator)
 
      d xmlHashAddEntry2...
-     d                 pr            10i 0 extproc('xmlHashAddEntry2')
+     d                 pr                  extproc('xmlHashAddEntry2')
+     d                                     like(xmlCint)
      d  table                              value like(xmlHashTablePtr)
      d  name                           *   value options(*string)               const xmlChar *
      d  name2                          *   value options(*string)               const xmlChar *
      d  userdata                       *   value options(*string)               void *
 
      d xmlHashUpdateEntry2...
-     d                 pr            10i 0 extproc('xmlHashUpdateEntry2')
+     d                 pr                  extproc('xmlHashUpdateEntry2')
+     d                                     like(xmlCint)
      d  table                              value like(xmlHashTablePtr)
      d  name                           *   value options(*string)               const xmlChar *
      d  name2                          *   value options(*string)               const xmlChar *
@@ -111,7 +117,8 @@
      d  f                                  value like(xmlHashDeallocator)
 
      d xmlHashAddEntry3...
-     d                 pr            10i 0 extproc('xmlHashAddEntry3')
+     d                 pr                  extproc('xmlHashAddEntry3')
+     d                                     like(xmlCint)
      d  table                              value like(xmlHashTablePtr)
      d  name                           *   value options(*string)               const xmlChar *
      d  name2                          *   value options(*string)               const xmlChar *
@@ -119,7 +126,8 @@
      d  userdata                       *   value options(*string)               void *
 
      d xmlHashUpdateEntry3...
-     d                 pr            10i 0 extproc('xmlHashUpdateEntry3')
+     d                 pr                  extproc('xmlHashUpdateEntry3')
+     d                                     like(xmlCint)
      d  table                              value like(xmlHashTablePtr)
      d  name                           *   value options(*string)               const xmlChar *
      d  name2                          *   value options(*string)               const xmlChar *
@@ -130,20 +138,23 @@
       * Remove an entry from the hash table.
 
      d xmlHashRemoveEntry...
-     d                 pr            10i 0 extproc('xmlHashRemoveEntry')
+     d                 pr                  extproc('xmlHashRemoveEntry')
+     d                                     like(xmlCint)
      d  table                              value like(xmlHashTablePtr)
      d  name                           *   value options(*string)               const xmlChar *
      d  f                                  value like(xmlHashDeallocator)
 
      d xmlHashRemoveEntry2...
-     d                 pr            10i 0 extproc('xmlHashRemoveEntry2')
+     d                 pr                  extproc('xmlHashRemoveEntry2')
+     d                                     like(xmlCint)
      d  table                              value like(xmlHashTablePtr)
      d  name                           *   value options(*string)               const xmlChar *
      d  name2                          *   value options(*string)               const xmlChar *
      d  f                                  value like(xmlHashDeallocator)
 
      d xmlHashRemoveEntry3...
-     d                 pr            10i 0 extproc('xmlHashRemoveEntry3')
+     d                 pr                  extproc('xmlHashRemoveEntry3')
+     d                                     like(xmlCint)
      d  table                              value like(xmlHashTablePtr)
      d  name                           *   value options(*string)               const xmlChar *
      d  name2                          *   value options(*string)               const xmlChar *
@@ -197,7 +208,8 @@
      d  table                              value like(xmlHashTablePtr)
      d  f                                  value like(xmlHashCopier)
 
-     d xmlHashSize     pr            10i 0 extproc('xmlHashSize')
+     d xmlHashSize     pr                  extproc('xmlHashSize')
+     d                                     like(xmlCint)
      d  table                              value like(xmlHashTablePtr)
 
      d xmlHashScan     pr                  extproc('xmlHashScan')
diff --git a/os400/libxmlrpg/list.rpgle b/os400/libxmlrpg/list.rpgle
index c62fcbd..ce2fa1c 100644
--- a/os400/libxmlrpg/list.rpgle
+++ b/os400/libxmlrpg/list.rpgle
@@ -10,6 +10,7 @@
       /define XML_LINK_INCLUDE__
 
       /include "libxmlrpg/xmlversion"
+      /include "libxmlrpg/xmlTypesC"
 
      d xmlLinkPtr      s               *   based(######typedef######)
 
@@ -68,33 +69,39 @@
      d  l                                  value like(xmlListPtr)
      d  data                           *   value                                void *
 
-     d xmlListInsert   pr            10i 0 extproc('xmlListInsert')
+     d xmlListInsert   pr                  extproc('xmlListInsert')
+     d                                     like(xmlCint)
      d  l                                  value like(xmlListPtr)
      d  data                           *   value                                void *
 
-     d xmlListAppend   pr            10i 0 extproc('xmlListAppend')
+     d xmlListAppend   pr                  extproc('xmlListAppend')
+     d                                     like(xmlCint)
      d  l                                  value like(xmlListPtr)
      d  data                           *   value                                void *
 
      d xmlListRemoveFirst...
-     d                 pr            10i 0 extproc('xmlListRemoveFirst')
+     d                 pr                  extproc('xmlListRemoveFirst')
+     d                                     like(xmlCint)
      d  l                                  value like(xmlListPtr)
      d  data                           *   value                                void *
 
      d xmlListRemoveLast...
-     d                 pr            10i 0 extproc('xmlListRemoveLast')
+     d                 pr                  extproc('xmlListRemoveLast')
+     d                                     like(xmlCint)
      d  l                                  value like(xmlListPtr)
      d  data                           *   value                                void *
 
      d xmlListRemoveAll...
-     d                 pr            10i 0 extproc('xmlListRemoveAll')
+     d                 pr                  extproc('xmlListRemoveAll')
+     d                                     like(xmlCint)
      d  l                                  value like(xmlListPtr)
      d  data                           *   value                                void *
 
      d xmlListClear    pr                  extproc('xmlListClear')
      d  l                                  value like(xmlListPtr)
 
-     d xmlListEmpty    pr            10i 0 extproc('xmlListEmpty')
+     d xmlListEmpty    pr                  extproc('xmlListEmpty')
+     d                                     like(xmlCint)
      d  l                                  value like(xmlListPtr)
 
      d xmlListFront    pr                  extproc('xmlListFront')
@@ -105,7 +112,8 @@
      d                                     like(xmlLinkPtr)
      d  l                                  value like(xmlListPtr)
 
-     d xmlListSize     pr            10i 0 extproc('xmlListSize')
+     d xmlListSize     pr                  extproc('xmlListSize')
+     d                                     like(xmlCint)
      d  l                                  value like(xmlListPtr)
 
      d xmlListPopFront...
@@ -117,12 +125,14 @@
      d  l                                  value like(xmlListPtr)
 
      d xmlListPushFront...
-     d                 pr            10i 0 extproc('xmlListPushFront')
+     d                 pr                  extproc('xmlListPushFront')
+     d                                     like(xmlCint)
      d  l                                  value like(xmlListPtr)
      d  data                           *   value                                void *
 
      d xmlListPushBack...
-     d                 pr            10i 0 extproc('xmlListPushBack')
+     d                 pr                  extproc('xmlListPushBack')
+     d                                     like(xmlCint)
      d  l                                  value like(xmlListPtr)
      d  data                           *   value                                void *
 
@@ -153,7 +163,8 @@
      d                                     like(xmlListPtr)
      d  old                                value like(xmlListPtr)
 
-     d xmlListCopy     pr            10i 0 extproc('xmlListCopy')
+     d xmlListCopy     pr                  extproc('xmlListCopy')
+     d                                     like(xmlCint)
      d  cur                                value like(xmlListPtr)
      d  old                                value like(xmlListPtr)               const
 
diff --git a/os400/libxmlrpg/nanoftp.rpgle b/os400/libxmlrpg/nanoftp.rpgle
index d8d5ef9..ac4f2aa 100644
--- a/os400/libxmlrpg/nanoftp.rpgle
+++ b/os400/libxmlrpg/nanoftp.rpgle
@@ -13,6 +13,8 @@
 
       /if defined(LIBXML_FTP_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
+
      d INVALID_SOCKET  c                   -1
 
       * ftpListCallback:
@@ -67,7 +69,7 @@
      d xmlNanoFTPConnectTo...
      d                 pr              *   extproc('xmlNanoFTPConnectTo')       void *
      d  server                         *   value options(*string)               const char *
-     d  port                         10i 0 value
+     d  port                               value like(xmlCint)
 
       * Opening/closing session connections.
 
@@ -75,14 +77,17 @@
      d  URL                            *   value options(*string)               const char *
 
      d xmlNanoFTPConnect...
-     d                 pr            10i 0 extproc('xmlNanoFTPConnect')
+     d                 pr                  extproc('xmlNanoFTPConnect')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
      d xmlNanoFTPClose...
-     d                 pr            10i 0 extproc('xmlNanoFTPClose')
+     d                 pr                  extproc('xmlNanoFTPClose')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
-     d xmlNanoFTPQuit  pr            10i 0 extproc('xmlNanoFTPQuit')
+     d xmlNanoFTPQuit  pr                  extproc('xmlNanoFTPQuit')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
      d xmlNanoFTPScanProxy...
@@ -92,65 +97,76 @@
      d xmlNanoFTPProxy...
      d                 pr                  extproc('xmlNanoFTPProxy')
      d  host                           *   value options(*string)               const char *
-     d  port                         10i 0 value
+     d  port                               value like(xmlCint)
      d  user                           *   value options(*string)               const char *
      d  passwd                         *   value options(*string)               const char *
-     d  type                         10i 0 value
+     d  type                               value like(xmlCint)
 
      d xmlNanoFTPUpdateURL...
-     d                 pr            10i 0 extproc('xmlNanoFTPUpdateURL')
+     d                 pr                  extproc('xmlNanoFTPUpdateURL')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
      d  URL                            *   value options(*string)               const char *
 
       * Rather internal commands.
 
      d xmlNanoFTPGetResponse...
-     d                 pr            10i 0 extproc('xmlNanoFTPGetResponse')
+     d                 pr                  extproc('xmlNanoFTPGetResponse')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
      d xmlNanoFTPCheckResponse...
-     d                 pr            10i 0 extproc('xmlNanoFTPCheckResponse')
+     d                 pr                  extproc('xmlNanoFTPCheckResponse')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
       * CD/DIR/GET handlers.
 
-     d xmlNanoFTPCwd   pr            10i 0 extproc('xmlNanoFTPCwd')
+     d xmlNanoFTPCwd   pr                  extproc('xmlNanoFTPCwd')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
      d  directory                      *   value options(*string)               const char *
 
-     d xmlNanoFTPDele  pr            10i 0 extproc('xmlNanoFTPDele')
+     d xmlNanoFTPDele  pr                  extproc('xmlNanoFTPDele')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
      d  file                           *   value options(*string)               const char *
 
      d xmlNanoFTPGetConnection...
-     d                 pr            10i 0 extproc('xmlNanoFTPGetConnection')   Socket descriptor
+     d                 pr                  extproc('xmlNanoFTPGetConnection')   Socket descriptor
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
      d xmlNanoFTPCloseConnection...
-     d                 pr            10i 0 extproc('xmlNanoFTPCloseConnection')
+     d                 pr                  extproc('xmlNanoFTPCloseConnection')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
-     d xmlNanoFTPList  pr            10i 0 extproc('xmlNanoFTPList')
+     d xmlNanoFTPList  pr                  extproc('xmlNanoFTPList')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
      d  callback                           value like(ftpListCallback)
      d  userData                       *   value                                void *
      d  filename                       *   value options(*string)               const char *
 
      d xmlNanoFTPGetSocket...
-     d                 pr            10i 0 extproc('xmlNanoFTPGetSocket')       Socket descriptor
+     d                 pr                  extproc('xmlNanoFTPGetSocket')       Socket descriptor
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
      d  filename                       *   value options(*string)               const char *
 
-     d xmlNanoFTPGet   pr            10i 0 extproc('xmlNanoFTPGet')
+     d xmlNanoFTPGet   pr                  extproc('xmlNanoFTPGet')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
      d  callback                           value like(ftpDataCallback)
      d  userData                       *   value                                void *
      d  filename                       *   value options(*string)               const char *
 
-     d xmlNanoFTPRead  pr            10i 0 extproc('xmlNanoFTPRead')
+     d xmlNanoFTPRead  pr                  extproc('xmlNanoFTPRead')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
      d  dest                           *   value                                void *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
       /endif                                                                    LIBXML_FTP_ENABLED
       /endif                                                                    NANO_FTP_H__
diff --git a/os400/libxmlrpg/nanohttp.rpgle b/os400/libxmlrpg/nanohttp.rpgle
index 4a076d2..d4e6008 100644
--- a/os400/libxmlrpg/nanohttp.rpgle
+++ b/os400/libxmlrpg/nanohttp.rpgle
@@ -13,6 +13,8 @@
 
       /if defined(LIBXML_HTTP_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
+
      d xmlNanoHTTPInit...
      d                 pr                  extproc('xmlNanoHTTPInit')
 
@@ -24,7 +26,8 @@
      d  URL                            *   value options(*string)               const char *
 
      d xmlNanoHTTPFetch...
-     d                 pr            10i 0 extproc('xmlNanoHTTPFetch')
+     d                 pr                  extproc('xmlNanoHTTPFetch')
+     d                                     like(xmlCint)
      d  URL                            *   value options(*string)               const char *
      d  filename                       *   value options(*string)               const char *
 
@@ -35,7 +38,7 @@
      d  input                          *   value options(*string)               const char *
      d  contentType                    *   value                                char * *
      d  headers                        *   value options(*string)               const char *
-     d  ilen                         10i 0 value
+     d  ilen                               value like(xmlCint)
 
      d xmlNanoHTTPMethodRedir...
      d                 pr              *   extproc('xmlNanoHTTPMethodRedir')    void *
@@ -45,7 +48,7 @@
      d  contentType                    *   value                                char * *
      d  redir                          *   value                                char * *
      d  headers                        *   value options(*string)               const char *
-     d  ilen                         10i 0 value
+     d  ilen                               value like(xmlCint)
 
      d xmlNanoHTTPOpen...
      d                 pr              *   extproc('xmlNanoHTTPOpen')           void *
@@ -59,7 +62,8 @@
      d  redir                          *   value                                char * *
 
      d xmlNanoHTTPReturnCode...
-     d                 pr            10i 0 extproc('xmlNanoHTTPReturnCode')
+     d                 pr                  extproc('xmlNanoHTTPReturnCode')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
      d xmlNanoHTTPAuthHeader...
@@ -71,7 +75,8 @@
      d  ctx                            *   value                                void *
 
      d xmlNanoHTTPContentLength...
-     d                 pr            10i 0 extproc('xmlNanoHTTPContentLength')
+     d                 pr                  extproc('xmlNanoHTTPContentLength')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
 
      d xmlNanoHTTPEncoding...
@@ -83,14 +88,16 @@
      d  ctx                            *   value                                void *
 
      d xmlNanoHTTPRead...
-     d                 pr            10i 0 extproc('xmlNanoHTTPRead')
+     d                 pr                  extproc('xmlNanoHTTPRead')
+     d                                     like(xmlCint)
      d  ctx                            *   value                                void *
      d  dest                           *   value                                void *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
       /if defined(LIBXML_OUTPUT_ENABLED)
      d xmlNanoHTTPSave...
-     d                 pr            10i 0 extproc('xmlNanoHTTPSave')
+     d                 pr                  extproc('xmlNanoHTTPSave')
+     d                                     like(xmlCint)
      d  ctxt                           *   value                                void *
      d  filename                       *   value options(*string)               const char *
       /endif                                                                    LIBXML_OUTPUT_ENABLD
diff --git a/os400/libxmlrpg/parser.rpgle b/os400/libxmlrpg/parser.rpgle
index f04aa2e..fa48d4f 100644
--- a/os400/libxmlrpg/parser.rpgle
+++ b/os400/libxmlrpg/parser.rpgle
@@ -53,9 +53,9 @@
      d  base                           *                                        const char *
      d  cur                            *                                        const char *
      d  end                            *                                        const char *
-     d  length                       10i 0                                      Length if known
-     d  line                         10i 0                                      Current line
-     d  col                          10i 0                                      Current column
+     d  length                             like(xmlCint)                        Length if known
+     d  line                               like(xmlCint)                        Current line
+     d  col                                like(xmlCint)                        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
@@ -65,8 +65,8 @@
      d  free                               like(xmlParserInputDeallocate)       base deallocator
      d  encoding                       *                                        const xmlChar *
      d  version                        *                                        const xmlChar *
-     d  standalone                   10i 0                                      Standalone entity ?
-     d  id                           10i 0                                      Entity unique ID
+     d  standalone                         like(xmlCint)                        Standalone entity ?
+     d  id                                 like(xmlCint)                        Entity unique ID
 
       * xmlParserNodeInfo:
       *
@@ -103,7 +103,8 @@
       * The recursive one use the state info for entities processing.
 
      d xmlParserInputState...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_PARSER_EOF...                                                       Nothing to parse
      d                 c                   -1
      d  XML_PARSER_START...                                                     Nothing parsed
@@ -168,7 +169,8 @@
       *
       * A parser can operate in various modes
 
-     d xmlParserMode   s             10i 0 based(######typedef######)           enum
+     d xmlParserMode   s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_PARSE_UNKNOWN...
      d                 c                   0
      d  XML_PARSE_DOM...
@@ -199,59 +201,59 @@
      d  sax                                like(xmlSAXHandlerPtr)               The SAX handler
      d  userData                       *                                        SAX only-4 DOM build
      d  myDoc                              like(xmlDocPtr)                      Document being built
-     d  wellFormed                   10i 0                                      Well formed doc ?
+     d  wellFormed                         like(xmlCint)                        Well formed doc ?
      d  replaceEntities...                                                      Replace entities ?
-     d                               10i 0
+     d                                     like(xmlCint)
      d  version                        *                                        const xmlChar *
      d  encoding                       *                                        const xmlChar *
-     d  standalone                   10i 0                                      Standalone document
-     d  html                         10i 0                                      HTML state/type
+     d  standalone                         like(xmlCint)                        Standalone document
+     d  html                               like(xmlCint)                        HTML state/type
       *
       * Input stream stack
       *
      d  input                              like(xmlParserInputPtr)              Current input stream
-     d  inputNr                      10i 0                                      # current in streams
-     d  inputMax                     10i 0                                      Max # of in streams
+     d  inputNr                            like(xmlCint)                        # current in streams
+     d  inputMax                           like(xmlCint)                        Max # of in streams
      d  inputTab                       *                                        xmlParserInputPtr *
       *
       * Node analysis stack only used for DOM building
       *
      d  node                               like(xmlNodePtr)                     Current parsed node
-     d  nodeNr                       10i 0                                      Parsing stack depth
-     d  nodeMax                      10i 0                                      Max stack depth
+     d  nodeNr                             like(xmlCint)                        Parsing stack depth
+     d  nodeMax                            like(xmlCint)                        Max stack depth
      d  nodeTab                        *                                        xmlNodePtr *
       *
-     d  record_info                  10i 0                                      Keep node info ?
+     d  record_info                        like(xmlCint)                        Keep node info ?
      d  node_seq                           likeds(xmlParserNodeInfoSeq)         Parsed nodes info
       *
-     d  errNo                        10i 0                                      Error code
+     d  errNo                              like(xmlCint)                        Error code
       *
      d  hasExternalSubset...
-     d                               10i 0
-     d  hasPErefs                    10i 0
-     d  external                     10i 0                                      Parsing ext. entity?
+     d                                     like(xmlCint)
+     d  hasPErefs                          like(xmlCint)
+     d  external                           like(xmlCint)                        Parsing ext. entity?
       *
-     d  valid                        10i 0                                      Valid document ?
-     d  validate                     10i 0                                      Try to validate ?
+     d  valid                              like(xmlCint)                        Valid document ?
+     d  validate                           like(xmlCint)                        Try to validate ?
      d  vctxt                              likeds(xmlValidCtxt)                 Validity context
       *
      d  instate                            like(xmlParserInputState)            Current input type
-     d  token                        10i 0                                      Next look-ahead char
+     d  token                              like(xmlCint)                        Next look-ahead char
       *
      d  directory                      *                                        char *
       *
       * Node name stack
       *
      d  name                           *                                        const xmlChar *
-     d  nameNr                       10i 0                                      Parsing stack depth
-     d  nameMax                      10i 0                                      Max stack depth
+     d  nameNr                             like(xmlCint)                        Parsing stack depth
+     d  nameMax                            like(xmlCint)                        Max stack depth
      d  nameTab                        *                                        const xmlChar * *
       *
      d  nbChars                            like(xmlClong)                       # xmlChars processed
      d  checkIndex                         like(xmlClong)                       4 progressive parse
-     d  keepBlanks                   10i 0                                      Ugly but ...
-     d  disableSAX                   10i 0                                      Disable SAX cllbacks
-     d  inSubset                     10i 0                                      In int 1/ext 2 sbset
+     d  keepBlanks                         like(xmlCint)                        Ugly but ...
+     d  disableSAX                         like(xmlCint)                        Disable SAX cllbacks
+     d  inSubset                           like(xmlCint)                        In int 1/ext 2 sbset
      d  intSubName                     *                                        const xmlChar *
      d  extSubURI                      *                                        const xmlChar *
      d  extSubSytem                    *                                        const xmlChar *
@@ -259,27 +261,27 @@
       * xml:space values
       *
      d  space                          *                                        int *
-     d  spaceNr                      10i 0                                      Parsing stack depth
-     d  spaceMax                     10i 0                                      Max stack depth
+     d  spaceNr                            like(xmlCint)                        Parsing stack depth
+     d  spaceMax                           like(xmlCint)                        Max stack depth
      d  spaceTab                       *                                        int *
       *
-     d  depth                        10i 0                                      To detect loops
+     d  depth                              like(xmlCint)                        To detect loops
      d  entity                             like(xmlParserInputPtr)              To check boundaries
-     d  charset                      10i 0                                      In-memory content
-     d  nodelen                      10i 0                                      Speed up parsing
-     d  nodemem                      10i 0                                      Speed up parsing
-     d  pedantic                     10i 0                                      Enb. pedantic warng
+     d  charset                            like(xmlCint)                        In-memory content
+     d  nodelen                            like(xmlCint)                        Speed up parsing
+     d  nodemem                            like(xmlCint)                        Speed up parsing
+     d  pedantic                           like(xmlCint)                        Enb. pedantic warng
      d  #private                       *                                        void *
       *
-     d  loadsubset                   10i 0                                      Load ext. subset ?
-     d  linenumbers                  10i 0                                      Set line numbers ?
+     d  loadsubset                         like(xmlCint)                        Load ext. subset ?
+     d  linenumbers                        like(xmlCint)                        Set line numbers ?
      d  catalogs                       *                                        void *
-     d  recovery                     10i 0                                      Run in recovery mode
-     d  progressive                  10i 0                                      Progressive parsing?
+     d  recovery                           like(xmlCint)                        Run in recovery mode
+     d  progressive                        like(xmlCint)                        Progressive parsing?
      d  dict                               like(xmlDictPtr)                     Parser dictionary
      d  atts                           *                                        const xmlChar *
-     d  maxatts                      10i 0                                      Above array size
-     d  docdict                      10i 0                                      Use dictionary ?
+     d  maxatts                            like(xmlCint)                        Above array size
+     d  docdict                            like(xmlCint)                        Use dictionary ?
       *
       * pre-interned strings
       *
@@ -289,23 +291,23 @@
       *
       * Everything below is used only by the new SAX mode
       *
-     d  sax2                         10i 0                                      New SAX mode ?
-     d  nsNr                         10i 0                                      # inherited nmspaces
-     d  nsMax                        10i 0                                      Array size
+     d  sax2                               like(xmlCint)                        New SAX mode ?
+     d  nsNr                               like(xmlCint)                        # inherited nmspaces
+     d  nsMax                              like(xmlCint)                        Array size
      d  nsTab                          *                                        const xmlChar *
      d  attallocs                      *                                        int *
      d  pushTab                        *                                        void *
      d  attsDefault                        like(xmlHashTablePtr)                Defaulted attrs
      d  attsSpecial                        like(xmlHashTablePtr)                non-CDATA attrs
-     d  nsWellFormed                 10i 0                                      Doc namespace OK ?
-     d  options                      10i 0                                      Extra options
+     d  nsWellFormed                       like(xmlCint)                        Doc namespace OK ?
+     d  options                            like(xmlCint)                        Extra options
       *
       * Those fields are needed only for treaming parsing so far
       *
-     d  dictNames                    10i 0                                      Dict names in tree ?
-     d  freeElemsNr                  10i 0                                      # free element nodes
+     d  dictNames                          like(xmlCint)                        Dict names in tree ?
+     d  freeElemsNr                        like(xmlCint)                        # free element nodes
      d  freeElems                          like(xmlNodePtr)                     Free elem nodes list
-     d  freeAttrsNr                  10i 0                                      # free attr. nodes
+     d  freeAttrsNr                        like(xmlCint)                        # free attr. nodes
      d  freeAttrs                          like(xmlAttrPtr)                     Free attr noes list
       *
       * the complete error informations for the last error.
@@ -318,11 +320,11 @@
       * for use by HTML non-recursive parser
       *
      d  nodeInfo                           like(xmlParserNodeInfoPtr)           Current NodeInfo
-     d  nodeInfoNr                   10i 0                                      Parsing stack depth
-     d  nodeInfoMax                  10i 0                                      Max stack depth
+     d  nodeInfoNr                         like(xmlCint)                        Parsing stack depth
+     d  nodeInfoMax                        like(xmlCint)                        Max stack depth
      d  nodeInfoTab                    *                                        xmlParserNodeInfo *
       *
-     d  input_id                     10i 0                                      Label inputs ?
+     d  input_id                           like(xmlCint)                        Label inputs ?
      d  sizeentcopy                        like(xmlCulong)                      Entity copy volume
 
       * xmlSAXLocator:
@@ -756,7 +758,7 @@
      d  cdataBlock                         like(cdataBlockSAXFunc)
      d  externalSubset...
      d                                     like(externalSubsetSAXFunc)
-     d  initialized                  10u 0
+     d  initialized                        like(xmlCuint)
       *
       * The following fields are extensions available only on version 2
       *
@@ -810,7 +812,7 @@
      d  cdataBlock                         like(cdataBlockSAXFunc)
      d  externalSubset...
      d                                     like(externalSubsetSAXFunc)
-     d  initialized                  10u 0
+     d  initialized                        like(xmlCuint)
 
       * xmlExternalEntityLoader:
       * @URL: The System ID of the resource requested
@@ -839,14 +841,16 @@
       * Input functions
 
      d xmlParserInputRead...
-     d                 pr            10i 0 extproc('xmlParserInputRead')
+     d                 pr                  extproc('xmlParserInputRead')
+     d                                     like(xmlCint)
      d  in                                 value like(xmlParserInputPtr)
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlParserInputGrow...
-     d                 pr            10i 0 extproc('xmlParserInputGrow')
+     d                 pr                  extproc('xmlParserInputGrow')
+     d                                     like(xmlCint)
      d  in                                 value like(xmlParserInputPtr)
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
       * Basic parsing Interfaces
 
@@ -862,28 +866,32 @@
      d xmlParseMemory  pr                  extproc('xmlParseMemory')
      d                                     like(xmlDocPtr)
      d  buffer                         *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
       /endif                                                                    LIBXML_SAX1_ENABLED
 
      d xmlSubstituteEntitiesDefault...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                      'xmlSubstituteEntitiesDefault')
-     d  val                          10i 0 value
+     d                                     like(xmlCint)
+     d  val                                value like(xmlCint)
 
      d xmlKeepBlanksDefault...
-     d                 pr            10i 0 extproc('xmlKeepBlanksDefault')
-     d  val                          10i 0 value
+     d                 pr                  extproc('xmlKeepBlanksDefault')
+     d                                     like(xmlCint)
+     d  val                                value like(xmlCint)
 
      d xmlStopParser   pr                  extproc('xmlStopParser')
      d  ctxt                               value like(xmlParserCtxtPtr)
 
      d xmlPedanticParserDefault...
-     d                 pr            10i 0 extproc('xmlPedanticParserDefault')
-     d  val                          10i 0 value
+     d                 pr                  extproc('xmlPedanticParserDefault')
+     d                                     like(xmlCint)
+     d  val                                value like(xmlCint)
 
      d xmlLineNumbersDefault...
-     d                 pr            10i 0 extproc('xmlLineNumbersDefault')
-     d  val                          10i 0 value
+     d                 pr                  extproc('xmlLineNumbersDefault')
+     d                                     like(xmlCint)
+     d  val                                value like(xmlCint)
 
       /if defined(LIBXML_SAX1_ENABLED)
       * Recovery mode
@@ -896,7 +904,7 @@
      d                 pr                  extproc('xmlRecoverMemory')
      d                                     like(xmlDocPtr)
      d  buffer                         *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
 
      d xmlRecoverFile  pr                  extproc('xmlRecoverFile')
      d                                     like(xmlDocPtr)
@@ -906,48 +914,52 @@
       * Less common routines and SAX interfaces
 
      d xmlParseDocument...
-     d                 pr            10i 0 extproc('xmlParseDocument')
+     d                 pr                  extproc('xmlParseDocument')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlParserCtxtPtr)
 
      d xmlParseExtParsedEnt...
-     d                 pr            10i 0 extproc('xmlParseExtParsedEnt')
+     d                 pr                  extproc('xmlParseExtParsedEnt')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlParserCtxtPtr)
 
       /if defined(LIBXML_SAX1_ENABLED)
      d xmlSAXUserParseFile...
-     d                 pr            10i 0 extproc('xmlSAXUserParseFile')
+     d                 pr                  extproc('xmlSAXUserParseFile')
+     d                                     like(xmlCint)
      d  sax                                value like(xmlSAXHandlerPtr)
      d  user_data                      *   value                                void *
      d  filename                       *   value options(*string)               const char *
 
      d xmlSAXUserParseMemory...
-     d                 pr            10i 0 extproc('xmlSAXUserParseMemory')
+     d                 pr                  extproc('xmlSAXUserParseMemory')
+     d                                     like(xmlCint)
      d  sax                                value like(xmlSAXHandlerPtr)
      d  user_data                      *   value                                void *
      d  buffer                         *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
 
      d xmlSAXParseDoc  pr                  extproc('xmlSAXParseDoc')
      d                                     like(xmlDocPtr)
      d  sax                                value like(xmlSAXHandlerPtr)
      d  cur                            *   value options(*string)               const xmlChar *
-     d  recovery                     10i 0 value
+     d  recovery                           value like(xmlCint)
 
      d xmlSAXParseMemory...
      d                 pr                  extproc('xmlSAXParseMemory')
      d                                     like(xmlDocPtr)
      d  sax                                value like(xmlSAXHandlerPtr)
      d  buffer                         *   value options(*string)               const char *
-     d  size                         10i 0 value
-     d  recovery                     10i 0 value
+     d  size                               value like(xmlCint)
+     d  recovery                           value like(xmlCint)
 
      d xmlSAXParseMemoryWithData...
      d                 pr                  extproc('xmlSAXParseMemoryWithData')
      d                                     like(xmlDocPtr)
      d  sax                                value like(xmlSAXHandlerPtr)
      d  buffer                         *   value options(*string)               const char *
-     d  size                         10i 0 value
-     d  recovery                     10i 0 value
+     d  size                               value like(xmlCint)
+     d  recovery                           value like(xmlCint)
      d  data                           *   value                                void *
 
      d xmlSAXParseFile...
@@ -955,14 +967,14 @@
      d                                     like(xmlDocPtr)
      d  sax                                value like(xmlSAXHandlerPtr)
      d  filename                       *   value options(*string)               const char *
-     d  recovery                     10i 0 value
+     d  recovery                           value like(xmlCint)
 
      d xmlSAXParseFileWithData...
      d                 pr                  extproc('xmlSAXParseFileWithData')
      d                                     like(xmlDocPtr)
      d  sax                                value like(xmlSAXHandlerPtr)
      d  filename                       *   value options(*string)               const char *
-     d  recovery                     10i 0 value
+     d  recovery                           value like(xmlCint)
      d  data                           *   value                                void *
 
      d xmlSAXParseEntity...
@@ -998,12 +1010,13 @@
 
       /if defined(LIBXML_SAX1_ENABLED)
      d xmlParseBalancedChunkMemory...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                      'xmlParseBalancedChunkMemory')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
      d  sax                                value like(xmlSAXHandlerPtr)
      d  user_data                      *   value                                void *
-     d  depth                        10i 0 value
+     d  depth                              value like(xmlCint)
      d  user_data                      *   value                                void *
      d  string                         *   value options(*string)               const xmlChar *
      d  lst                            *   value                                xmlNodePtr *
@@ -1014,35 +1027,38 @@
      d                                     like(xmlParserErrors)
      d  node                               value like(xmlNodePtr)
      d  data                           *   value options(*string)               const char *
-     d  datalen                      10i 0 value
-     d  options                      10i 0 value
+     d  datalen                            value like(xmlCint)
+     d  options                            value like(xmlCint)
      d  lst                            *   value                                xmlNodePtr *
 
       /if defined(LIBXML_SAX1_ENABLED)
      d xmlParseBalancedChunkMemoryRecover...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlParseBalancedChunkMemoryRecover')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
      d  sax                                value like(xmlSAXHandlerPtr)
      d  user_data                      *   value                                void *
-     d  depth                        10i 0 value
+     d  depth                              value like(xmlCint)
      d  string                         *   value options(*string)               const xmlChar *
      d  lst                            *   value                                xmlNodePtr *
-     d  recover                      10i 0 value
+     d  recover                            value like(xmlCint)
 
      d xmlParseExternalEntity...
-     d                 pr            10i 0 extproc('xmlParseExternalEntity')
+     d                 pr                  extproc('xmlParseExternalEntity')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
      d  sax                                value like(xmlSAXHandlerPtr)
      d  user_data                      *   value                                void *
-     d  depth                        10i 0 value
+     d  depth                              value like(xmlCint)
      d  URL                            *   value options(*string)               const xmlChar *
      d  ID                             *   value options(*string)               const xmlChar *
      d  lst                            *   value                                xmlNodePtr *
       /endif                                                                    LIBXML_SAX1_ENABLED
 
      d xmlParseCtxtExternalEntity...
-     d                 pr            10i 0 extproc('xmlParseCtxtExternalEntity')
+     d                 pr                  extproc('xmlParseCtxtExternalEntity')
+     d                                     like(xmlCint)
      d  sax                                value like(xmlSAXHandlerPtr)
      d  URL                            *   value options(*string)               const xmlChar *
      d  ID                             *   value options(*string)               const xmlChar *
@@ -1055,7 +1071,8 @@
      d                                     like(xmlParserCtxtPtr)
 
      d xmlInitParserCtxt...
-     d                 pr            10i 0 extproc('xmlInitParserCtxt')
+     d                 pr                  extproc('xmlInitParserCtxt')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlParserCtxtPtr)
 
      d xmlClearParserCtxt...
@@ -1083,16 +1100,19 @@
       * Reading/setting optional parsing features.
 
      d xmlGetFeaturesList...
-     d                 pr            10i 0 extproc('xmlGetFeaturesList')
-     d  len                          10i 0
+     d                 pr                  extproc('xmlGetFeaturesList')
+     d                                     like(xmlCint)
+     d  len                                like(xmlCint)
      d  result                         *                                        const char *(*)
 
-     d xmlGetFeature   pr            10i 0 extproc('xmlGetFeature')
+     d xmlGetFeature   pr                  extproc('xmlGetFeature')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlParserCtxtPtr)
      d  name                           *   value options(*string)               const char *
      d  result                         *   value                                void *
 
-     d xmlSetFeature   pr            10i 0 extproc('xmlSetFeature')
+     d xmlSetFeature   pr                  extproc('xmlSetFeature')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlParserCtxtPtr)
      d  name                           *   value options(*string)               const char *
      d  result                         *   value                                void *
@@ -1107,14 +1127,15 @@
      d  sax                                value like(xmlSAXHandlerPtr)
      d  user_data                      *   value                                void *
      d  chunk                          *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
      d  filename                       *   value options(*string)               const char *
 
-     d xmlParseChunk   pr            10i 0 extproc('xmlParseChunk')
+     d xmlParseChunk   pr                  extproc('xmlParseChunk')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlParserCtxtPtr)
      d  chunk                          *   value options(*string)               const char *
-     d  size                         10i 0 value
-     d  terminate                    10i 0 value
+     d  size                               value like(xmlCint)
+     d  terminate                          value like(xmlCint)
       /endif                                                                    LIBXML_PUSH_ENABLED
 
       * Special I/O mode.
@@ -1194,7 +1215,8 @@
       * to the xmlReadDoc() and similar calls.
 
      d xmlParserOption...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_PARSE_RECOVER...                                                    Recover on errors
      d                 c                   X'00000001'
      d  XML_PARSE_NOENT...                                                      Substitute entities
@@ -1246,45 +1268,47 @@
      d  ctxt                               value like(xmlParserCtxtPtr)
 
      d xmlCtxtResetPush...
-     d                 pr            10i 0 extproc('xmlCtxtResetPush')
+     d                 pr                  extproc('xmlCtxtResetPush')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlParserCtxtPtr)
      d  chunk                          *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
      d  filename                       *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
 
      d xmlCtxtUseOptions...
-     d                 pr            10i 0 extproc('xmlCtxtUseOptions')
+     d                 pr                  extproc('xmlCtxtUseOptions')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlParserCtxtPtr)
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlReadDoc      pr                  extproc('xmlReadDoc')
      d                                     like(xmlDocPtr)
      d  cur                            *   value options(*string)               const xmlChar *
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlReadFile     pr                  extproc('xmlReadFile')
      d                                     like(xmlDocPtr)
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlReadMemory   pr                  extproc('xmlReadMemory')
      d                                     like(xmlDocPtr)
      d  buffer                         *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlReadFd       pr                  extproc('xmlReadFd')
      d                                     like(xmlDocPtr)
-     d  fd                           10i 0 value
+     d  fd                                 value like(xmlCint)
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlReadIO       pr                  extproc('xmlReadIO')
      d                                     like(xmlDocPtr)
@@ -1293,7 +1317,7 @@
      d  ioctx                          *   value                                void *
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlCtxtReadDoc  pr                  extproc('xmlCtxtReadDoc')
      d                                     like(xmlDocPtr)
@@ -1301,7 +1325,7 @@
      d  cur                            *   value options(*string)               const xmlChar *
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlCtxtReadFile...
      d                 pr                  extproc('xmlCtxtReadFile')
@@ -1309,25 +1333,25 @@
      d  ctxt                               value like(xmlParserCtxtPtr)
      d  filename                       *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlCtxtReadMemory...
      d                 pr                  extproc('xmlCtxtReadMemory')
      d                                     like(xmlDocPtr)
      d  ctxt                               value like(xmlParserCtxtPtr)
      d  buffer                         *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlCtxtReadFd   pr                  extproc('xmlCtxtReadFd')
      d                                     like(xmlDocPtr)
      d  ctxt                               value like(xmlParserCtxtPtr)
-     d  fd                           10i 0 value
+     d  fd                                 value like(xmlCint)
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlCtxtReadIO   pr                  extproc('xmlCtxtReadIO')
      d                                     like(xmlDocPtr)
@@ -1337,7 +1361,7 @@
      d  ioctx                          *   value                                void *
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
       * Library wide options
 
@@ -1347,7 +1371,8 @@
       * or disabled at compile-time.
       * They used to be called XML_FEATURE_xxx but this clashed with Expat
 
-     d xmlFeature      s             10i 0 based(######typedef######)           enum
+     d xmlFeature      s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_WITH_THREAD...
      d                 c                   1
      d  XML_WITH_TREE  c                   2
@@ -1404,7 +1429,8 @@
      d  XML_WITH_LZMA  c                   33
      d  XML_WITH_NONE  c                   99999
 
-     d xmlHasFeature   pr            10i 0 extproc('xmlHasFeature')
+     d xmlHasFeature   pr                  extproc('xmlHasFeature')
+     d                                     like(xmlCint)
      d  feature                            value like(xmlFeature)
 
       /endif                                                                    XML_PARSER_H__
diff --git a/os400/libxmlrpg/parserInternals.rpgle b/os400/libxmlrpg/parserInternals.rpgle
index 2691397..6c8f388 100644
--- a/os400/libxmlrpg/parserInternals.rpgle
+++ b/os400/libxmlrpg/parserInternals.rpgle
@@ -11,6 +11,7 @@
       /define XML_PARSER_INTERNALS_H__
 
       /include "libxmlrpg/xmlversion"
+      /include "libxmlrpg/xmlTypesC"
       /include "libxmlrpg/parser"
       /include "libxmlrpg/HTMLparser"
       /include "libxmlrpg/chvalid"
@@ -22,7 +23,8 @@
       * boundary feature, use XML_PARSE_HUGE option to override it.
 
      d xmlParserMaxDepth...
-     d                 s             10u 0 import('xmlParserMaxDepth')
+     d                 s                   import('xmlParserMaxDepth')
+     d                                     like(xmlCuint)
 
       * XML_MAX_TEXT_LENGTH:
       *
@@ -93,8 +95,9 @@
 
       * Function to finish the work of the macros where needed.
 
-     d xmlIsLetter     pr            10i 0 extproc('xmlIsLetter')
-     d c                             10i 0 value
+     d xmlIsLetter     pr                  extproc('xmlIsLetter')
+     d                                     like(xmlCint)
+     d c                                   value like(xmlCint)
 
       * Parser context.
 
@@ -107,13 +110,13 @@
      d                 pr                  extproc('xmlCreateURLParserCtxt')
      d                                     like(xmlParserCtxtPtr)
      d filename                        *   value options(*string)               const char *
-     d options                       10i 0 value
+     d options                             value like(xmlCint)
 
      d xmlCreateMemoryParserCtxt...
      d                 pr                  extproc('xmlCreateMemoryParserCtxt')
      d                                     like(xmlParserCtxtPtr)
      d buffer                          *   value options(*string)               const char *
-     d size                          10i 0 value
+     d size                                value like(xmlCint)
 
      d xmlCreateEntityParserCtxt...
      d                 pr                  extproc('xmlCreateEntityParserCtxt')
@@ -123,17 +126,20 @@
      d base                            *   value options(*string)               const xmlChar *
 
      d xmlSwitchEncoding...
-     d                 pr            10i 0 extproc('xmlSwitchEncoding')
+     d                 pr                  extproc('xmlSwitchEncoding')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
      d enc                                 value like(xmlCharEncoding)
 
      d xmlSwitchToEncoding...
-     d                 pr            10i 0 extproc('xmlSwitchToEncoding')
+     d                 pr                  extproc('xmlSwitchToEncoding')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
      d handler                             value like(xmlCharEncodingHandlerPtr)
 
      d xmlSwitchInputEncoding...
-     d                 pr            10i 0 extproc('xmlSwitchInputEncoding')
+     d                 pr                  extproc('xmlSwitchInputEncoding')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
      d input                               value like(xmlParserInputPtr)
      d handler                             value like(xmlCharEncodingHandlerPtr)
@@ -152,7 +158,8 @@
      d ctxt                                value like(xmlParserCtxtPtr)
      d entity                              value like(xmlEntityPtr)
 
-     d xmlPushInput    pr            10i 0 extproc('xmlPushInput')
+     d xmlPushInput    pr                  extproc('xmlPushInput')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
      d input                               value like(xmlParserInputPtr)
 
@@ -211,13 +218,13 @@
      d xmlParseCharData...
      d                 pr                  extproc('xmlParseCharData')
      d ctxt                                value like(xmlParserCtxtPtr)
-     d cdata                         10i 0 value
+     d cdata                               value like(xmlCint)
 
      d xmlParseExternalID...
      d                 pr              *   extproc('xmlParseExternalID')        xmlChar *
      d ctxt                                value like(xmlParserCtxtPtr)
      d publicID                        *                                        xmlChar *(*)
-     d strict                        10i 0 value
+     d strict                              value like(xmlCint)
 
      d xmlParseComment...
      d                 pr                  extproc('xmlParseComment')
@@ -239,7 +246,8 @@
      d ctxt                                value like(xmlParserCtxtPtr)
 
      d xmlParseDefaultDecl...
-     d                 pr            10i 0 extproc('xmlParseDefaultDecl')
+     d                 pr                  extproc('xmlParseDefaultDecl')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
      d value                           *                                        xmlChar *(*)
 
@@ -254,12 +262,14 @@
      d ctxt                                value like(xmlParserCtxtPtr)
 
      d xmlParseEnumeratedType...
-     d                 pr            10i 0 extproc('xmlParseEnumeratedType')
+     d                 pr                  extproc('xmlParseEnumeratedType')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
      d tree                            *   value                                xmlEnumerationPtr *
 
      d xmlParseAttributeType...
-     d                 pr            10i 0 extproc('xmlParseAttributeType')
+     d                 pr                  extproc('xmlParseAttributeType')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
      d tree                            *   value                                xmlEnumerationPtr *
 
@@ -272,24 +282,26 @@
      d                                     'xmlParseElementMixedContentDecl')
      d                                     like(xmlElementContentPtr)
      d ctxt                                value like(xmlParserCtxtPtr)
-     d inputchk                      10i 0 value
+     d inputchk                            value like(xmlCint)
 
      d xmlParseElementChildrenContentDecl...
      d                 pr                  extproc(
      d                                     'xmlParseElementChildrenContentDecl')
      d                                     like(xmlElementContentPtr)
      d ctxt                                value like(xmlParserCtxtPtr)
-     d inputchk                      10i 0 value
+     d inputchk                            value like(xmlCint)
 
      d xmlParseElementContentDecl...
-     d                 pr            10i 0 extproc('xmlParseElementContentDecl')
+     d                 pr                  extproc('xmlParseElementContentDecl')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
      d name                            *   value options(*string)               const xmlChar *
      d result                          *   value                                xmlElementContentPtr
      d                                                                          *
 
      d xmlParseElementDecl...
-     d                 pr            10i 0 extproc('xmlParseElementDecl')
+     d                 pr                  extproc('xmlParseElementDecl')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
 
      d xmlParseMarkupDecl...
@@ -297,7 +309,8 @@
      d ctxt                                value like(xmlParserCtxtPtr)
 
      d xmlParseCharRef...
-     d                 pr            10i 0 extproc('xmlParseCharRef')
+     d                 pr                  extproc('xmlParseCharRef')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
 
      d xmlParseEntityRef...
@@ -358,7 +371,8 @@
      d                 pr              *   extproc('xmlParseEncodingDecl')      const xmlChar *
      d ctxt                                value like(xmlParserCtxtPtr)
 
-     d xmlParseSDDecl  pr            10i 0 extproc('xmlParseSDDecl')
+     d xmlParseSDDecl  pr                  extproc('xmlParseSDDecl')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
 
      d xmlParseXMLDecl...
@@ -410,7 +424,7 @@
      d                 pr              *   extproc('xmlStringDecodeEntities')   xmlChar *
      d ctxt                                value like(xmlParserCtxtPtr)
      d str                             *   value options(*string)               const xmlChar *
-     d what                          10i 0 value
+     d what                                value like(xmlCint)
      d end                                 value like(xmlChar)
      d end2                                value like(xmlChar)
      d end3                                value like(xmlChar)
@@ -419,15 +433,16 @@
      d                 pr              *   extproc('xmlStringLenDecodeEntities')xmlChar *
      d ctxt                                value like(xmlParserCtxtPtr)
      d str                             *   value options(*string)               const xmlChar *
-     d len                           10i 0 value
-     d what                          10i 0 value
+     d len                                 value like(xmlCint)
+     d what                                value like(xmlCint)
      d end                                 value like(xmlChar)
      d end2                                value like(xmlChar)
      d end3                                value like(xmlChar)
 
       * Generated by MACROS on top of parser.c c.f. PUSH_AND_POP.
 
-     d nodePush        pr            10i 0 extproc('nodePush')
+     d nodePush        pr                  extproc('nodePush')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
      d value                               value like(xmlNodePtr)
 
@@ -435,7 +450,8 @@
      d                                     like(xmlNodePtr)
      d ctxt                                value like(xmlParserCtxtPtr)
 
-     d inputPush       pr            10i 0 extproc('inputPush')
+     d inputPush       pr                  extproc('inputPush')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
      d value                               value like(xmlParserInputPtr)
 
@@ -446,18 +462,21 @@
      d namePop         pr              *   extproc('namePop')                   const xmlChar *
      d ctxt                                value like(xmlParserCtxtPtr)
 
-     d namePush        pr            10i 0 extproc('namePush')
+     d namePush        pr                  extproc('namePush')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
      d value                           *   value options(*string)               const xmlChar *
 
       * other commodities shared between parser.c and parserInternals.
 
      d xmlSkipBlankChars...
-     d                 pr            10i 0 extproc('xmlSkipBlankChars')
+     d                 pr                  extproc('xmlSkipBlankChars')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
 
      d xmlStringCurrentChar...
-     d                 pr            10i 0 extproc('xmlStringCurrentChar')
+     d                 pr                  extproc('xmlStringCurrentChar')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
      d cur                             *   value options(*string)               const xmlChar *
      d len                             *   value                                int *
@@ -467,24 +486,28 @@
      d ctxt                                value like(xmlParserCtxtPtr)
 
      d xmlCheckLanguageID...
-     d                 pr            10i 0 extproc('xmlCheckLanguageID')
+     d                 pr                  extproc('xmlCheckLanguageID')
+     d                                     like(xmlCint)
      d lang                            *   value options(*string)               const xmlChar *
 
       * Really core function shared with HTML parser.
 
-     d xmlCurrentChar  pr            10i 0 extproc('xmlCurrentChar')
+     d xmlCurrentChar  pr                  extproc('xmlCurrentChar')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlParserCtxtPtr)
      d len                             *   value                                int *
 
      d xmlCopyCharMultiByte...
-     d                 pr            10i 0 extproc('xmlCopyCharMultiByte')
+     d                 pr                  extproc('xmlCopyCharMultiByte')
+     d                                     like(xmlCint)
      d out                             *   value options(*string)               xmlChar *
-     d val                           10i 0 value
+     d val                                 value like(xmlCint)
 
-     d xmlCopyChar     pr            10i 0 extproc('xmlCopyChar')
-     d len                           10i 0 value
+     d xmlCopyChar     pr                  extproc('xmlCopyChar')
+     d                                     like(xmlCint)
+     d len                                 value like(xmlCint)
      d out                             *   value options(*string)               xmlChar *
-     d val                           10i 0 value
+     d val                                 value like(xmlCint)
 
      d xmlNextChar     pr                  extproc('xmlNextChar')
      d ctxt                                value like(xmlParserCtxtPtr)
@@ -560,8 +583,8 @@
      d xmlDecodeEntities...
      d                 pr              *   extproc('xmlDecodeEntities')         xmlChar *
      d ctxt                                value like(xmlParserCtxtPtr)
-     d len                           10i 0 value
-     d what                          10i 0 value
+     d len                                 value like(xmlCint)
+     d what                                value like(xmlCint)
      d end                                 value like(xmlChar)
      d end2                                value like(xmlChar)
      d end3                                value like(xmlChar)
diff --git a/os400/libxmlrpg/pattern.rpgle b/os400/libxmlrpg/pattern.rpgle
index 2e881e5..ef02301 100644
--- a/os400/libxmlrpg/pattern.rpgle
+++ b/os400/libxmlrpg/pattern.rpgle
@@ -10,11 +10,13 @@
       /define XML_PATTERN_H__
 
       /include "libxmlrpg/xmlversion"
-      /include "libxmlrpg/tree"
-      /include "libxmlrpg/dict"
 
       /if defined(LIBXML_PATTERN_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
+      /include "libxmlrpg/tree"
+      /include "libxmlrpg/dict"
+
       * xmlPattern:
       *
       * A compiled (XPath based) pattern to select nodes
@@ -28,7 +30,8 @@
       * matching with this module
 
      d xmlPatternFlags...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_PATTERN_DEFAULT...                                                  Simple pattern match
      d                 c                   X'0000'
      d  XML_PATTERN_XPATH...                                                    Std XPath pattern
@@ -50,11 +53,12 @@
      d                                     like(xmlPatternPtr)
      d  pattern                        *   value options(*string)               const xmlChar *
      d  dict                           *   value                                xmlDict *
-     d  flags                        10i 0 value
+     d  flags                              value like(xmlCint)
      d  namespaces                     *                                        const xmlChar *(*)
 
      d xmlPatternMatch...
-     d                 pr            10i 0 extproc('xmlPatternMatch')
+     d                 pr                  extproc('xmlPatternMatch')
+     d                                     like(xmlCint)
      d  comp                               value like(xmlPatternPtr)
      d  node                               value like(xmlNodePtr)
 
@@ -64,19 +68,23 @@
      d                 s               *   based(######typedef######)
 
      d xmlPatternStreamable...
-     d                 pr            10i 0 extproc('xmlPatternStreamable')
+     d                 pr                  extproc('xmlPatternStreamable')
+     d                                     like(xmlCint)
      d  comp                               value like(xmlPatternPtr)
 
      d xmlPatternMaxDepth...
-     d                 pr            10i 0 extproc('xmlPatternMaxDepth')
+     d                 pr                  extproc('xmlPatternMaxDepth')
+     d                                     like(xmlCint)
      d  comp                               value like(xmlPatternPtr)
 
      d xmlPatternMinDepth...
-     d                 pr            10i 0 extproc('xmlPatternMinDepth')
+     d                 pr                  extproc('xmlPatternMinDepth')
+     d                                     like(xmlCint)
      d  comp                               value like(xmlPatternPtr)
 
      d xmlPatternFromRoot...
-     d                 pr            10i 0 extproc('xmlPatternFromRoot')
+     d                 pr                  extproc('xmlPatternFromRoot')
+     d                                     like(xmlCint)
      d  comp                               value like(xmlPatternPtr)
 
      d xmlPatternGetStreamCtxt...
@@ -89,28 +97,33 @@
      d  stream                             value like(xmlStreamCtxtPtr)
 
      d xmlStreamPushNode...
-     d                 pr            10i 0 extproc('xmlStreamPushNode')
+     d                 pr                  extproc('xmlStreamPushNode')
+     d                                     like(xmlCint)
      d  stream                             value like(xmlStreamCtxtPtr)
      d  name                           *   value options(*string)               const xmlChar *
      d  ns                             *   value options(*string)               const xmlChar *
-     d  nodeType                     10i 0 value
+     d  nodeType                           value like(xmlCint)
 
-     d xmlStreamPush   pr            10i 0 extproc('xmlStreamPush')
+     d xmlStreamPush   pr                  extproc('xmlStreamPush')
+     d                                     like(xmlCint)
      d  stream                             value like(xmlStreamCtxtPtr)
      d  name                           *   value options(*string)               const xmlChar *
      d  ns                             *   value options(*string)               const xmlChar *
 
      d xmlStreamPushAttr...
-     d                 pr            10i 0 extproc('xmlStreamPushAttr')
+     d                 pr                  extproc('xmlStreamPushAttr')
+     d                                     like(xmlCint)
      d  stream                             value like(xmlStreamCtxtPtr)
      d  name                           *   value options(*string)               const xmlChar *
      d  ns                             *   value options(*string)               const xmlChar *
 
-     d xmlStreamPop    pr            10i 0 extproc('xmlStreamPop')
+     d xmlStreamPop    pr                  extproc('xmlStreamPop')
+     d                                     like(xmlCint)
      d  stream                             value like(xmlStreamCtxtPtr)
 
      d xmlStreamWantsAnyNode...
-     d                 pr            10i 0 extproc('xmlStreamWantsAnyNode')
+     d                 pr                  extproc('xmlStreamWantsAnyNode')
+     d                                     like(xmlCint)
      d  stream                             value like(xmlStreamCtxtPtr)
 
       /endif                                                                    LIBXML_PATTERN_ENBLD
diff --git a/os400/libxmlrpg/relaxng.rpgle b/os400/libxmlrpg/relaxng.rpgle
index af662aa..15b8471 100644
--- a/os400/libxmlrpg/relaxng.rpgle
+++ b/os400/libxmlrpg/relaxng.rpgle
@@ -9,11 +9,13 @@
       /define XML_RELAX_NG__
 
       /include "libxmlrpg/xmlversion"
-      /include "libxmlrpg/hash"
-      /include "libxmlrpg/xmlstring"
 
       /if defined(LIBXML_SCHEMAS_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
+      /include "libxmlrpg/hash"
+      /include "libxmlrpg/xmlstring"
+
      d xmlRelaxNGPtr   s               *   based(######typedef######)
 
       * xmlRelaxNGValidityErrorFunc:
@@ -51,7 +53,8 @@
       * List of possible Relax NG validation errors
 
      d xmlRelaxNGValidErr...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_RELAXNG_OK...
      d                 c                   0
      d  XML_RELAXNG_ERR_MEMORY...
@@ -138,7 +141,8 @@
       * List of possible Relax NG Parser flags
 
      d xmlRelaxNGParserFlag...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_RELAXNGP_NONE...
      d                 c                   0
      d  XML_RELAXNGP_FREE_DOC...
@@ -147,7 +151,8 @@
      d                 c                   2
 
      d xmlRelaxNGInitTypes...
-     d                 pr            10i 0 extproc('xmlRelaxNGInitTypes')
+     d                 pr                  extproc('xmlRelaxNGInitTypes')
+     d                                     like(xmlCint)
 
      d xmlRelaxNGCleanupTypes...
      d                 pr                  extproc('xmlRelaxNGCleanupTypes')
@@ -164,7 +169,7 @@
      d                 pr                  extproc('xmlRelaxNGNewMemParserCtxt')
      d                                     like(xmlRelaxNGParserCtxtPtr)
      d  buffer                         *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
 
      d xmlRelaxNGNewDocParserCtxt...
      d                 pr                  extproc('xmlRelaxNGNewDocParserCtxt')
@@ -172,9 +177,10 @@
      d  doc                                value like(xmlDocPtr)
 
      d xmlRelaxParserSetFlag...
-     d                 pr            10i 0 extproc('xmlRelaxParserSetFlag')
+     d                 pr                  extproc('xmlRelaxParserSetFlag')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlRelaxNGParserCtxtPtr)
-     d  flag                         10i 0 value
+     d  flag                               value like(xmlCint)
 
      d xmlRelaxNGFreeParserCtxt...
      d                 pr                  extproc('xmlRelaxNGFreeParserCtxt')
@@ -190,7 +196,8 @@
      d  ctx                            *   value                                void *
 
      d xmlRelaxNGGetParserErrors...
-     d                 pr            10i 0 extproc('xmlRelaxNGGetParserErrors')
+     d                 pr                  extproc('xmlRelaxNGGetParserErrors')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlRelaxNGParserCtxtPtr)
      d  err                                like(xmlRelaxNGValidityErrorFunc)
      d  warn                               like(xmlRelaxNGValidityWarningFunc)
@@ -236,7 +243,8 @@
      d  ctx                            *   value                                void *
 
      d xmlRelaxNGGetValidErrors...
-     d                 pr            10i 0 extproc('xmlRelaxNGGetValidErrors')
+     d                 pr                  extproc('xmlRelaxNGGetValidErrors')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlRelaxNGValidCtxtPtr)
      d  err                                like(xmlRelaxNGValidityErrorFunc)
      d  warn                               like(xmlRelaxNGValidityWarningFunc)
@@ -259,36 +267,41 @@
      d  ctxt                               value like(xmlRelaxNGValidCtxtPtr)
 
      d xmlRelaxNGValidateDoc...
-     d                 pr            10i 0 extproc('xmlRelaxNGValidateDoc')
+     d                 pr                  extproc('xmlRelaxNGValidateDoc')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlRelaxNGValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
 
       * Interfaces for progressive validation when possible
 
      d xmlRelaxNGValidatePushElement...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlRelaxNGValidatePushElement')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlRelaxNGValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
      d  elem                               value like(xmlNodePtr)
 
      d xmlRelaxNGValidatePushCData...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlRelaxNGValidatePushCData')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlRelaxNGValidCtxtPtr)
      d  data                           *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlRelaxNGValidatePopElement...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlRelaxNGValidatePopElement')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlRelaxNGValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
      d  elem                               value like(xmlNodePtr)
 
      d xmlRelaxNGValidateFullElement...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlRelaxNGValidateFullElement')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlRelaxNGValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
      d  elem                               value like(xmlNodePtr)
diff --git a/os400/libxmlrpg/schemasInternals.rpgle b/os400/libxmlrpg/schemasInternals.rpgle
index edeea5b..8d3013e 100644
--- a/os400/libxmlrpg/schemasInternals.rpgle
+++ b/os400/libxmlrpg/schemasInternals.rpgle
@@ -15,12 +15,15 @@
       /include "libxmlrpg/xmlversion"
 
       /if defined(LIBXML_SCHEMAS_ENABLED)
+
+      /include "libxmlrpg/xmlTypesC"
       /include "libxmlrpg/xmlregexp"
       /include "libxmlrpg/hash"
       /include "libxmlrpg/dict"
 
      d xmlSchemaValType...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_SCHEMAS_UNKNOWN...
      d                 c                   0
      d  XML_SCHEMAS_STRING...
@@ -119,7 +122,8 @@
       * XML Schemas defines multiple type of types.
 
      d xmlSchemaTypeType...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_SCHEMA_TYPE_BASIC...                                                A builtin datatype
      d                 c                   1
      d  XML_SCHEMA_TYPE_ANY...
@@ -202,7 +206,8 @@
      d                 c                   2001
 
      d xmlSchemaContentType...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_SCHEMA_CONTENT_UNKNOWN...
      d                 c                   0
      d  XML_SCHEMA_CONTENT_EMPTY...
@@ -357,13 +362,13 @@
      d  annot                              like(xmlSchemaAnnotPtr)
       *
      d  base                               like(xmlSchemaTypePtr)               Deprecated
-     d  occurs                       10i 0                                      Deprecated
+     d  occurs                             like(xmlCint)                        Deprecated
      d  defValue                       *                                        const xmlChar *
      d  subtypes                           like(xmlSchemaTypePtr)               The type definition
      d  node                               like(xmlNodePtr)
      d  targetNamespace...                                                      const xmlChar *
      d                                 *
-     d  flags                        10i 0
+     d  flags                              like(xmlCint)
      d  refPrefix                      *                                        const xmlChar *
      d  defVal                             like(xmlSchemaValPtr)                Compiled constraint
      d  refDecl                            like(xmlSchemaAttributePtr)          Deprecated
@@ -413,14 +418,14 @@
      d  id                             *                                        const xmlChar *
      d  annot                              like(xmlSchemaAnnotPtr)
      d  node                               like(xmlNodePtr)
-     d  minOccurs                    10i 0                                      Deprecated; not used
-     d  maxOccurs                    10i 0                                      Deprecated; not used
+     d  minOccurs                          like(xmlCint)                        Deprecated; not used
+     d  maxOccurs                          like(xmlCint)                        Deprecated; not used
      d  processContents...
-     d                               10i 0
-     d  any                          10i 0                                      Ns constraint ##any?
+     d                                     like(xmlCint)
+     d  any                                like(xmlCint)                        Ns constraint ##any?
      d  nsSet                              like(xmlSchemaWildcardNsPtr)         Allowed namspce list
      d  negNsSet                           like(xmlSchemaWildcardNsPtr)         Negated namespace
-     d  flags                        10i 0                                      Deprecated; not used
+     d  flags                              like(xmlCint)                        Deprecated; not used
 
       * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED:
       *
@@ -478,7 +483,7 @@
       *
      d  attributes                         like(xmlSchemaAttributePtr)          Deprecated; not used
      d  node                               like(xmlNodePtr)
-     d  flags                        10i 0
+     d  flags                              like(xmlCint)
      d  attributeWildcard...
      d                                     like(xmlSchemaWildcardPtr)
      d  refPrefix                      *                                        const xmlChar *
@@ -753,21 +758,21 @@
      d  subtypes                           like(xmlSchemaTypePtr)
      d  attributes                         like(xmlSchemaAttributePtr)          Deprecated; not used
      d  node                               like(xmlNodePtr)
-     d  minOccurs                    10i 0                                      Deprecated; not used
-     d  maxOccurs                    10i 0                                      Deprecated; not used
+     d  minOccurs                          like(xmlCint)                        Deprecated; not used
+     d  maxOccurs                          like(xmlCint)                        Deprecated; not used
       *
-     d  flags                        10i 0
+     d  flags                              like(xmlCint)
      d  contentType                        like(xmlSchemaContentType)
      d  base                           *                                        const xmlChar *
      d  baseNs                         *                                        const xmlChar *
      d  baseType                           like(xmlSchemaTypePtr)               Base type component
      d  facets                             like(xmlSchemaFacetPtr)              Local facets
      d  redef                              like(xmlSchemaTypePtr)               Deprecated; not used
-     d  recurse                      10i 0                                      Obsolete
+     d  recurse                            like(xmlCint)                        Obsolete
      d  attributeUses                      like(xmlSchemaAttributeLinkPtr)      Deprecated; not used
      d  attributeWildcard...
      d                                     like(xmlSchemaWildcardPtr)
-     d  builtInType                  10i 0                                      Built-in types type
+     d  builtInType                        like(xmlCint)                        Built-in types type
      d  memberTypes                        like(xmlSchemaTypeLinkPtr)           Union member-types
      d  facetSet                           like(xmlSchemaFacetLinkPtr)          All facets
      d  refPrefix                      *                                        const xmlChar *
@@ -937,10 +942,10 @@
      d  subtypes                           like(xmlSchemaTypePtr)
      d  attributes                         like(xmlSchemaAttributePtr)          Deprecated; not used
      d  node                               like(xmlNodePtr)
-     d  minOccurs                    10i 0                                      Deprecated; not used
-     d  maxOccurs                    10i 0                                      Deprecated; not used
+     d  minOccurs                          like(xmlCint)                        Deprecated; not used
+     d  maxOccurs                          like(xmlCint)                        Deprecated; not used
       *
-     d  flags                        10i 0
+     d  flags                              like(xmlCint)
      d  targetNamespace...
      d                                 *                                        const xmlChar *
      d  namedType                      *                                        const xmlChar *
@@ -995,8 +1000,8 @@
      d  id                             *                                        const xmlChar *
      d  annot                              like(xmlSchemaAnnotPtr)
      d  node                               like(xmlNodePtr)
-     d  fixed                        10i 0                                      _FACET_PRESERVE, etc
-     d  whitespace                   10i 0
+     d  fixed                              like(xmlCint)                        _FACET_PRESERVE, etc
+     d  whitespace                         like(xmlCint)
      d  val                                like(xmlSchemaValPtr)                Compiled value
      d  regexp                             like(xmlRegexpPtr)                   Regexp for patterns
 
@@ -1106,7 +1111,7 @@
      d  id                             *                                        const xmlChar *
      d  doc                                like(xmlDocPtr)
      d  annot                              like(xmlSchemaAnnotPtr)
-     d  flags                        10i 0
+     d  flags                              like(xmlCint)
       *
      d  typeDecl                           like(xmlHashTablePtr)
      d  attrDecl                           like(xmlHashTablePtr)
@@ -1120,8 +1125,8 @@
      d  groupDecl                          like(xmlHashTablePtr)
      d  dict                               like(xmlDictPtr)
      d  includes                       *                                        void *
-     d  preserve                     10i 0                                      Do not free doc ?
-     d  counter                      10i 0                                      For name uniqueness
+     d  preserve                           like(xmlCint)                        Do not free doc ?
+     d  counter                            like(xmlCint)                        For name uniqueness
      d  idcDef                             like(xmlHashTablePtr)                All id-constr. defs
      d  volatiles                      *                                        void *
 
diff --git a/os400/libxmlrpg/schematron.rpgle b/os400/libxmlrpg/schematron.rpgle
index c987cd5..8271ca5 100644
--- a/os400/libxmlrpg/schematron.rpgle
+++ b/os400/libxmlrpg/schematron.rpgle
@@ -12,10 +12,12 @@
 
       /if defined(LIBXML_SCHEMATRON_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
       /include "libxmlrpg/tree"
 
      d xmlSchematronValidOptions...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_SCHEMATRON_OUT_QUIET...                                             Quiet no report
      d                 c                   X'0001'
      d  XML_SCHEMATRON_OUT_TEXT...                                              Build textual report
@@ -78,7 +80,7 @@
      d                                     'xmlSchematronNewMemParserCtxt')
      d                                     like(xmlSchematronParserCtxtPtr)
      d  buffer                         *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
 
      d xmlSchematronNewDocParserCtxt...
      d                 pr                  extproc(
@@ -105,8 +107,9 @@
      d  ctx                            *   value                                void *
 
      d xmlSchematronGetParserErrors...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlSchematronGetParserErrors')
+     d                                     like(xmlCint)
      d  ctxt                               value
      d                                     like(xmlSchematronParserCtxtPtr)
      d  err                                like(xmlSchematronValidityErrorFunc)
@@ -115,7 +118,8 @@
      d  ctx                            *                                        void *(*)
 
      d xmlSchematronIsValid...
-     d                 pr            10i 0 extproc('xmlSchematronIsValid')
+     d                 pr                  extproc('xmlSchematronIsValid')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlSchematronValidCtxtPtr)
       /endif
 
@@ -150,8 +154,9 @@
      d  ctx                            *   value                                void *
 
      d xmlSchematronGetValidErrors...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlSchematronGetValidErrors')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlSchematronValidCtxtPtr)
      d  err                                like(xmlSchematronValidityErrorFunc)
      d  warn                               like(
@@ -159,19 +164,22 @@
      d  ctx                            *                                        void *(*)
 
      d xmlSchematronSetValidOptions...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlSchematronSetValidOptions')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlSchematronValidCtxtPtr)
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlSchematronValidCtxtGetOptions...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlSchematronValidCtxtGetOptions')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlSchematronValidCtxtPtr)
 
      d xmlSchematronValidateOneElement...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlSchematronValidateOneElement')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlSchematronValidCtxtPtr)
      d  elem                               value like(xmlNodePtr)
       /endif
@@ -180,14 +188,15 @@
      d                 pr                  extproc('xmlSchematronNewValidCtxt')
      d                                     like(xmlSchematronValidCtxtPtr)
      d  schema                             value like(xmlSchematronPtr)
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlSchematronFreeValidCtxt...
      d                 pr                  extproc('xmlSchematronFreeValidCtxt')
      d  ctxt                               value like(xmlSchematronValidCtxtPtr)
 
      d xmlSchematronValidateDoc...
-     d                 pr            10i 0 extproc('xmlSchematronValidateDoc')
+     d                 pr                  extproc('xmlSchematronValidateDoc')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlSchematronValidCtxtPtr)
      d  instance                           value like(xmlDocPtr)
 
diff --git a/os400/libxmlrpg/threads.rpgle b/os400/libxmlrpg/threads.rpgle
index 07d4278..124798b 100644
--- a/os400/libxmlrpg/threads.rpgle
+++ b/os400/libxmlrpg/threads.rpgle
@@ -10,6 +10,7 @@
       /define XML_THREADS_H__
 
       /include "libxmlrpg/xmlversion"
+      /include "libxmlrpg/xmlTypesC"
 
       * xmlMutex are a simple mutual exception locks.
 
@@ -55,10 +56,12 @@
      d xmlUnlockLibrary...
      d                 pr                  extproc('xmlUnlockLibrary')
 
-     d xmlGetThreadId  pr            10i 0 extproc('xmlGetThreadId')
+     d xmlGetThreadId  pr                  extproc('xmlGetThreadId')
+     d                                     like(xmlCint)
 
      d xmlIsMainThread...
-     d                 pr            10i 0 extproc('xmlIsMainThread')
+     d                 pr                  extproc('xmlIsMainThread')
+     d                                     like(xmlCint)
 
      d xmlCleanupThreads...
      d                 pr                  extproc('xmlCleanupThreads')
diff --git a/os400/libxmlrpg/tree.rpgle b/os400/libxmlrpg/tree.rpgle
index 5c67f4f..6512778 100644
--- a/os400/libxmlrpg/tree.rpgle
+++ b/os400/libxmlrpg/tree.rpgle
@@ -67,7 +67,8 @@
       * need or double it's allocated size each time it is found too small.
 
      d xmlBufferAllocationScheme...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_BUFFER_ALLOC_DOUBLEIT...
      d                 c                   0
      d  XML_BUFFER_ALLOC_EXACT...
@@ -89,8 +90,8 @@
      d xmlBuffer       ds                  based(xmlBufferPtr)
      d                                     align qualified
      d  content                        *                                        xmlChar *
-     d  use                          10u 0                                      The buffer size used
-     d  size                         10u 0                                      The buffer size
+     d  use                                like(xmlCuint)
+     d  size                               like(xmlCuint)
      d  alloc                              like(xmlBufferAllocationScheme)      The realloc method
      d  contentIO                      *                                        xmlChar *
 
@@ -150,7 +151,8 @@
       * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should
       * be deprecated to use an XML_DTD_NODE.
 
-     d xmlElementType  s             10i 0 based(######typedef######)           enum
+     d xmlElementType  s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_ELEMENT_NODE...
      d                 c                   1
      d  XML_ATTRIBUTE_NODE...
@@ -212,7 +214,8 @@
       * A DTD Attribute type definition.
 
      d xmlAttributeType...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_ATTRIBUTE_CDATA...
      d                 c                   1
      d  XML_ATTRIBUTE_ID...
@@ -239,7 +242,8 @@
       * A DTD Attribute default definition.
 
      d xmlAttributeDefault...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_ATTRIBUTE_NONE...
      d                 c                   1
      d  XML_ATTRIBUTE_REQUIRED...
@@ -298,7 +302,8 @@
       * Possible definitions of element content types.
 
      d xmlElementContentType...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_ELEMENT_CONTENT_PCDATA...
      d                 c                   1
      d  XML_ELEMENT_CONTENT_ELEMENT...
@@ -313,7 +318,8 @@
       * Possible definitions of element content occurrences.
 
      d xmlElementContentOccur...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_ELEMENT_CONTENT_ONCE...
      d                 c                   1
      d  XML_ELEMENT_CONTENT_OPT...
@@ -347,7 +353,8 @@
       * The different possibilities for an element content type.
 
      d xmlElementTypeVal...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_ELEMENT_TYPE_UNDEFINED...
      d                 c                   0
      d  XML_ELEMENT_TYPE_EMPTY...
@@ -469,7 +476,7 @@
      d  next                               like(xmlIdPtr)                       Next ID
      d  attr                               like(xmlAttrPtr)                     Attribute holding it
      d  name                           *                                        const xmlChar *
-     d  lineno                       10i 0                                      Line # if not avail
+     d  lineno                             like(xmlCint)                        Line # if not avail
      d  doc                                like(xmlDocPtr)                      Doc holding ID
 
       * xmlRef:
@@ -484,7 +491,7 @@
      d  value                          *                                        const xmlChar *
      d  attr                               like(xmlAttrPtr)                     Attribute holding it
      d  name                           *                                        const xmlChar *
-     d  lineno                       10i 0                                      Line # if not avail
+     d  lineno                             like(xmlCint)                        Line # if not avail
 
       * xmlNode:
       *
@@ -515,7 +522,8 @@
       * Some of them are linked to similary named xmlParserOption
 
      d xmlDocProperties...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_DOC_WELLFORMED...
      d                 c                   X'00000001'
      d  XML_DOC_NSVALID...
@@ -546,8 +554,8 @@
      d  next                               like(xmlNodePtr)                     next sibling link
      d  prev                               like(xmlNodePtr)                     previous sibling lnk
      d  doc                                like(xmlDocPtr)                      Reference to itself
-     d  compression                  10i 0                                      zlib compression lev
-     d  standalone                   10i 0
+     d  compression                        like(xmlCint)                        zlib compression lev
+     d  standalone                         like(xmlCint)
      d  intSubset                          like(xmlDtdPtr)                      Internal subset
      d  extSubset                          like(xmlDtdPtr)                      External subset
      d  oldns                              like(xmlNsPtr)                       Global namespace
@@ -556,11 +564,11 @@
      d  ids                            *                                        IDs hash table
      d  refs                           *                                        IDREFs hash table
      d  URL                            *                                        const xmlChar *
-     d  charset                      10i 0                                      In-memory encoding
+     d  charset                            like(xmlCint)                        In-memory encoding
      d  dict                           *                                        xmlDictPtr for names
      d  psvi                           *                                        Type/PSVI ino
-     d  parseFlags                   10i 0                                      xmlParserOption's
-     d  properties                   10i 0                                      xmlDocProperties
+     d  parseFlags                         like(xmlCint)                        xmlParserOption's
+     d  properties                         like(xmlCint)                        xmlDocProperties
 
       * xmlDOMWrapAcquireNsFunction:
       * @ctxt:  a DOM wrapper context
@@ -587,7 +595,7 @@
      d                 ds                  based(xmlDOMWrapCtxtPtr)
      d                                     align qualified
      d  #private                       *                                        void *
-     d  type                         10i 0
+     d  type                               like(xmlCint)
      d  namespaceMap                   *                                        void *
      d  getNsForNodeFunc...
      d                                     like(xmlDOMWrapAcquireNsFunction)
@@ -619,9 +627,10 @@
       /endif
       /if defined(XML_TESTVAL)
      d xmlValidateNCName...
-     d                 pr            10i 0 extproc('xmlValidateNCName')
+     d                 pr                  extproc('xmlValidateNCName')
+     d                                     like(xmlCint)
      d  value                          *   value options(*string)               const xmlChar *
-     d  space                        10i 0 value
+     d  space                              value like(xmlCint)
 
       /undefine XML_TESTVAL
       /endif
@@ -633,19 +642,22 @@
       /endif
       /if defined(XML_TESTVAL)
      d xmlValidateQName...
-     d                 pr            10i 0 extproc('xmlValidateQName')
+     d                 pr                  extproc('xmlValidateQName')
+     d                                     like(xmlCint)
      d  value                          *   value options(*string)               const xmlChar *
-     d  space                        10i 0 value
+     d  space                              value like(xmlCint)
 
      d xmlValidateName...
-     d                 pr            10i 0 extproc('xmlValidateName')
+     d                 pr                  extproc('xmlValidateName')
+     d                                     like(xmlCint)
      d  value                          *   value options(*string)               const xmlChar *
-     d  space                        10i 0 value
+     d  space                              value like(xmlCint)
 
      d xmlValidateNMToken...
-     d                 pr            10i 0 extproc('xmlValidateNMToken')
+     d                 pr                  extproc('xmlValidateNMToken')
+     d                                     like(xmlCint)
      d  value                          *   value options(*string)               const xmlChar *
-     d  space                        10i 0 value
+     d  space                              value like(xmlCint)
 
       /undefine XML_TESTVAL
       /endif
@@ -654,7 +666,7 @@
      d  ncname                         *   value options(*string)               const xmlChar *
      d  prefix                         *   value options(*string)               const xmlChar *
      d  memory                    65535    options(*varsize: *omit)             xmlChar[]
-     d  len                          10i 0 value                                memory length
+     d  len                                value like(xmlCint)                  memory length
 
      d xmlSplitQName2  pr              *   extproc('xmlSplitQName2')            xmlChar *
      d  name                           *   value options(*string)               const xmlChar *
@@ -662,7 +674,7 @@
 
      d xmlSplitQName3  pr              *   extproc('xmlSplitQName3')            const xmlChar *
      d  name                           *   value options(*string)               const xmlChar *
-     d  len                          10i 0
+     d  len                                like(xmlCint)
 
       * Handling Buffers, the old ones see @xmlBuf for the new ones.
 
@@ -693,44 +705,52 @@
      d  size                               value like(xmlCsize_t)
 
      d xmlBufferResize...
-     d                 pr            10i 0 extproc('xmlBufferResize')
+     d                 pr                  extproc('xmlBufferResize')
+     d                                     like(xmlCint)
      d  buf                                value like(xmlBufferPtr)
      d  size                               value like(xmlCsize_t)
 
      d xmlBufferFree   pr                  extproc('xmlBufferFree')
      d  buf                                value like(xmlBufferPtr)
 
-     d xmlBufferDump   pr            10i 0 extproc('xmlBufferDump')
+     d xmlBufferDump   pr                  extproc('xmlBufferDump')
+     d                                     like(xmlCint)
      d  file                           *   value                                FILE *
      d  buf                                value like(xmlBufferPtr)
 
-     d xmlBufferAdd    pr            10i 0 extproc('xmlBufferAdd')
+     d xmlBufferAdd    pr                  extproc('xmlBufferAdd')
+     d                                     like(xmlCint)
      d  buf                                value like(xmlBufferPtr)
      d  str                            *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value                                str length
+     d  len                                value like(xmlCint)                  str length
 
      d xmlBufferAddHead...
-     d                 pr            10i 0 extproc('xmlBufferAddHead')
+     d                 pr                  extproc('xmlBufferAddHead')
+     d                                     like(xmlCint)
      d  buf                                value like(xmlBufferPtr)
      d  str                            *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value                                str length
+     d  len                                value like(xmlCint)                  str length
 
-     d xmlBufferCat    pr            10i 0 extproc('xmlBufferCat')
+     d xmlBufferCat    pr                  extproc('xmlBufferCat')
+     d                                     like(xmlCint)
      d  buf                                value like(xmlBufferPtr)
      d  str                            *   value options(*string)               const xmlChar *
 
-     d xmlBufferCCat   pr            10i 0 extproc('xmlBufferCCat')
+     d xmlBufferCCat   pr                  extproc('xmlBufferCCat')
+     d                                     like(xmlCint)
      d  buf                                value like(xmlBufferPtr)
      d  str                            *   value options(*string)               const char *
 
      d xmlBufferShrink...
-     d                 pr            10i 0 extproc('xmlBufferShrink')
+     d                 pr                  extproc('xmlBufferShrink')
+     d                                     like(xmlCint)
      d  buf                                value like(xmlBufferPtr)
-     d  len                          10u 0 value                                str length
+     d  len                                value like(xmlCuint)
 
-     d xmlBufferGrow   pr            10i 0 extproc('xmlBufferGrow')
+     d xmlBufferGrow   pr                  extproc('xmlBufferGrow')
+     d                                     like(xmlCint)
      d  buf                                value like(xmlBufferPtr)
-     d  len                          10u 0 value                                str length
+     d  len                                value like(xmlCuint)
 
      d xmlBufferEmpty  pr                  extproc('xmlBufferEmpty')
      d  buf                                value like(xmlBufferPtr)
@@ -751,7 +771,8 @@
      d                                     like(xmlBufferAllocationScheme)
 
      d xmlBufferLength...
-     d                 pr            10i 0 extproc('xmlBufferLength')
+     d                 pr                  extproc('xmlBufferLength')
+     d                                     like(xmlCint)
      d  buf                                value like(xmlBufferPtr)
 
       * Creating/freeing new structures.
@@ -876,7 +897,7 @@
      d xmlCopyDoc      pr                  extproc('xmlCopyDoc')
      d                                     like(xmlDocPtr)
      d  doc                                value like(xmlDocPtr)
-     d  recursive                    10i 0 value
+     d  recursive                          value like(xmlCint)
 
       /undefine XML_TESTVAL
       /endif
@@ -950,12 +971,12 @@
      d                                     like(xmlNodePtr)
      d  doc                                value like(xmlDocPtr)
      d  content                        *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlNewTextLen   pr                  extproc('xmlNewTextLen')
      d                                     like(xmlNodePtr)
      d  content                        *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlNewDocComment...
      d                 pr                  extproc('xmlNewDocComment')
@@ -972,7 +993,7 @@
      d                                     like(xmlNodePtr)
      d  doc                                value like(xmlDocPtr)
      d  content                        *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlNewCharRef   pr                  extproc('xmlNewCharRef')
      d                                     like(xmlNodePtr)
@@ -988,13 +1009,13 @@
      d xmlCopyNode     pr                  extproc('xmlCopyNode')
      d                                     like(xmlNodePtr)
      d  node                               value like(xmlNodePtr)
-     d  recursive                    10i 0 value
+     d  recursive                          value like(xmlCint)
 
      d xmlDocCopyNode  pr                  extproc('xmlDocCopyNode')
      d                                     like(xmlNodePtr)
      d  node                               value like(xmlNodePtr)
      d  doc                                value like(xmlDocPtr)
-     d  recursive                    10i 0 value
+     d  recursive                          value like(xmlCint)
 
      d xmlDocCopyNodeList...
      d                 pr                  extproc('xmlDocCopyNodeList')
@@ -1059,10 +1080,12 @@
      d                                     like(xmlNodePtr)
      d  parent                             value like(xmlNodePtr)
 
-     d xmlNodeIsText   pr            10i 0 extproc('xmlNodeIsText')
+     d xmlNodeIsText   pr                  extproc('xmlNodeIsText')
+     d                                     like(xmlCint)
      d  node                               value like(xmlNodePtr)
 
-     d xmlIsBlankNode  pr            10i 0 extproc('xmlIsBlankNode')
+     d xmlIsBlankNode  pr                  extproc('xmlIsBlankNode')
+     d                                     like(xmlCint)
      d  node                               value like(xmlNodePtr)
 
       * Changing the structure.
@@ -1149,10 +1172,11 @@
      d  first                              value like(xmlNodePtr)
      d  second                             value like(xmlNodePtr)
 
-     d xmlTextConcat   pr            10i 0 extproc('xmlTextConcat')
+     d xmlTextConcat   pr                  extproc('xmlTextConcat')
+     d                                     like(xmlCint)
      d  node                               value like(xmlNodePtr)
      d  content                        *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlFreeNodeList...
      d                 pr                  extproc('xmlFreeNodeList')
@@ -1276,20 +1300,20 @@
      d                                     like(xmlNodePtr)
      d  doc                                value like(xmlDocPtr)
      d  value                          *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlNodeListGetString...
      d                 pr              *   extproc('xmlNodeListGetString')      xmlChar *
      d  doc                                value like(xmlDocPtr)
      d  list                               value like(xmlNodePtr)
-     d  inLine                       10i 0 value
+     d  inLine                             value like(xmlCint)
 
       /if defined(LIBXML_TREE_ENABLED)
      d xmlNodeListGetRawString...
      d                 pr              *   extproc('xmlNodeListGetRawString')   xmlChar *
      d  doc                                value like(xmlDocPtr)
      d  list                               value like(xmlNodePtr)
-     d  inLine                       10i 0 value
+     d  inLine                             value like(xmlCint)
       /endif                                                                    LIBXML_TREE_ENABLED
 
      d xmlNodeSetContent...
@@ -1302,7 +1326,7 @@
      d                 pr                  extproc('xmlNodeSetContentLen')
      d  cur                                value like(xmlNodePtr)
      d  content                        *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
       /endif                                                                    LIBXML_TREE_ENABLED
 
      d xmlNodeAddContent...
@@ -1314,19 +1338,21 @@
      d                 pr                  extproc('xmlNodeAddContentLen')
      d  cur                                value like(xmlNodePtr)
      d  content                        *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlNodeGetContent...
      d                 pr              *   extproc('xmlNodeGetContent')         xmlChar *
      d  cur                                value like(xmlNodePtr)
 
      d xmlNodeBufGetContent...
-     d                 pr            10i 0 extproc('xmlNodeBufGetContent')
+     d                 pr                  extproc('xmlNodeBufGetContent')
+     d                                     like(xmlCint)
      d  buffer                             value like(xmlBufferPtr)
      d  cur                                value like(xmlNodePtr)
 
      d xmlBufGetNodeContent...
-     d                 pr            10i 0 extproc('xmlBufGetNodeContent')
+     d                 pr                  extproc('xmlBufGetNodeContent')
+     d                                     like(xmlCint)
      d  buf                                value like(xmlBufPtr)
      d  cur                                value like(xmlNodePtr)
 
@@ -1334,7 +1360,8 @@
      d  cur                                value like(xmlNodePtr)
 
      d xmlNodeGetSpacePreserve...
-     d                 pr            10i 0 extproc('xmlNodeGetSpacePreserve')
+     d                 pr                  extproc('xmlNodeGetSpacePreserve')
+     d                                     like(xmlCint)
      d  cur                                value like(xmlNodePtr)
 
       /if defined(LIBXML_TREE_ENABLED)
@@ -1345,7 +1372,7 @@
      d xmlNodeSetSpacePreserve...
      d                 pr                  extproc('xmlNodeSetSpacePreserve')
      d  cur                                value like(xmlNodePtr)
-     d  val                          10i 0 value
+     d  val                                value like(xmlCint)
       /endif                                                                    LIBXML_TREE_ENABLED
 
      d xmlNodeGetBase  pr              *   extproc('xmlNodeGetBase')            xmlChar *
@@ -1367,7 +1394,8 @@
 
       * Removing content.
 
-     d xmlRemoveProp   pr            10i 0 extproc('xmlRemoveProp')
+     d xmlRemoveProp   pr                  extproc('xmlRemoveProp')
+     d                                     like(xmlCint)
      d  cur                                value like(xmlAttrPtr)
 
       /if defined(LIBXML_TREE_ENABLED)
@@ -1376,12 +1404,14 @@
       /define XML_TESTVAL
       /endif
       /if defined(XML_TESTVAL)
-     d xmlUnsetNsProp  pr            10i 0 extproc('xmlUnsetNsProp')
+     d xmlUnsetNsProp  pr                  extproc('xmlUnsetNsProp')
+     d                                     like(xmlCint)
      d  node                               value like(xmlNodePtr)
      d  ns                                 value like(xmlNsPtr)
      d  name                           *   value options(*string)               const xmlChar *
 
-     d xmlUnsetProp    pr            10i 0 extproc('xmlUnsetProp')
+     d xmlUnsetProp    pr                  extproc('xmlUnsetProp')
+     d                                     like(xmlCint)
      d  node                               value like(xmlNodePtr)
      d  name                           *   value options(*string)               const xmlChar *
 
@@ -1418,7 +1448,8 @@
       * Namespace handling.
 
      d xmlReconciliateNs...
-     d                 pr            10i 0 extproc('xmlReconciliateNs')
+     d                 pr                  extproc('xmlReconciliateNs')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
      d  tree                               value like(xmlNodePtr)
       /endif
@@ -1431,37 +1462,39 @@
      d                 pr                  extproc('xmlDocDumpFormatMemory')
      d  cur                                value like(xmlDocPtr)
      d  mem                            *                                        xmlChar * (*)
-     d  size                         10i 0
-     d  format                       10i 0 value
+     d  size                               like(xmlCint)
+     d  format                             value like(xmlCint)
 
      d xmlDocDumpMemory...
      d                 pr                  extproc('xmlDocDumpMemory')
      d  cur                                value like(xmlDocPtr)
      d  mem                            *                                        xmlChar * (*)
-     d  size                         10i 0
+     d  size                               like(xmlCint)
 
      d xmlDocDumpMemoryEnc...
      d                 pr                  extproc('xmlDocDumpMemoryEnc')
      d  out_doc                            value like(xmlDocPtr)
      d  doc_txt_ptr                    *                                        xmlChar * (*)
-     d  doc_txt_len                  10i 0
+     d  doc_txt_len                        like(xmlCint)
      d  txt_encoding                   *   value options(*string)               const char *
 
      d xmlDocDumpFormatMemoryEnc...
      d                 pr                  extproc('xmlDocDumpFormatMemoryEnc')
      d  out_doc                            value like(xmlDocPtr)
      d  doc_txt_ptr                    *                                        xmlChar * (*)
-     d  doc_txt_len                  10i 0
+     d  doc_txt_len                        like(xmlCint)
      d  txt_encoding                   *   value options(*string)               const char *
-     d  format                       10i 0 value
+     d  format                             value like(xmlCint)
 
      d xmlDocFormatDump...
-     d                 pr            10i 0 extproc('xmlDocFormatDump')
+     d                 pr                  extproc('xmlDocFormatDump')
+     d                                     like(xmlCint)
      d  f                              *   value                                FILE *
      d  cur                                value like(xmlDocPtr)
-     d  format                       10i 0 value
+     d  format                             value like(xmlCint)
 
-     d xmlDocDump      pr            10i 0 extproc('xmlDocDump')
+     d xmlDocDump      pr                  extproc('xmlDocDump')
+     d                                     like(xmlCint)
      d  f                              *   value                                FILE *
      d  cur                                value like(xmlDocPtr)
 
@@ -1470,60 +1503,67 @@
      d  doc                                value like(xmlDocPtr)
      d  cur                                value like(xmlNodePtr)
 
-     d xmlSaveFile     pr            10i 0 extproc('xmlSaveFile')
+     d xmlSaveFile     pr                  extproc('xmlSaveFile')
+     d                                     like(xmlCint)
      d  filename                       *   value options(*string)               const char *
      d  cur                                value like(xmlDocPtr)
 
      d xmlSaveFormatFile...
-     d                 pr            10i 0 extproc('xmlSaveFormatFile')
+     d                 pr                  extproc('xmlSaveFormatFile')
+     d                                     like(xmlCint)
      d  filename                       *   value options(*string)               const char *
      d  cur                                value like(xmlDocPtr)
-     d  format                       10i 0 value
+     d  format                             value like(xmlCint)
 
      d xmlBufNodeDump  pr                  extproc('xmlBufNodeDump')
      d                                     like(xmlCsize_t)
      d  buf                                value like(xmlBufPtr)
      d  doc                                value like(xmlDocPtr)
      d  cur                                value like(xmlNodePtr)
-     d  level                        10i 0 value
-     d  format                       10i 0 value
+     d  level                              value like(xmlCint)
+     d  format                             value like(xmlCint)
 
-     d xmlNodeDump     pr            10i 0 extproc('xmlNodeDump')
+     d xmlNodeDump     pr                  extproc('xmlNodeDump')
+     d                                     like(xmlCint)
      d  buf                                value like(xmlBufferPtr)
      d  doc                                value like(xmlDocPtr)
      d  cur                                value like(xmlNodePtr)
-     d  level                        10i 0 value
-     d  format                       10i 0 value
+     d  level                              value like(xmlCint)
+     d  format                             value like(xmlCint)
 
-     d xmlSaveFileTo   pr            10i 0 extproc('xmlSaveFileTo')
+     d xmlSaveFileTo   pr                  extproc('xmlSaveFileTo')
+     d                                     like(xmlCint)
      d  buf                                value like(xmlOutputBufferPtr)
      d  cur                                value like(xmlDocPtr)
      d  encoding                       *   value options(*string)               const char *
 
      d xmlSaveFormatFileTo...
-     d                 pr            10i 0 extproc('xmlSaveFormatFileTo')
+     d                 pr                  extproc('xmlSaveFormatFileTo')
+     d                                     like(xmlCint)
      d  buf                                value like(xmlOutputBufferPtr)
      d  cur                                value like(xmlDocPtr)
      d  encoding                       *   value options(*string)               const char *
-     d  format                       10i 0 value
+     d  format                             value like(xmlCint)
 
      d xmlNodeDumpOutput...
      d                 pr                  extproc('xmlNodeDumpOutput')
      d  buf                                value like(xmlOutputBufferPtr)
      d  doc                                value like(xmlDocPtr)
      d  cur                                value like(xmlNodePtr)
-     d  level                        10i 0 value
-     d  format                       10i 0 value
+     d  level                              value like(xmlCint)
+     d  format                             value like(xmlCint)
      d  encoding                       *   value options(*string)               const char *
 
      d xmlSaveFormatFileEnc...
-     d                 pr            10i 0 extproc('xmlSaveFormatFileEnc')
+     d                 pr                  extproc('xmlSaveFormatFileEnc')
+     d                                     like(xmlCint)
      d  filename                       *   value options(*string)               const char *
      d  cur                                value like(xmlDocPtr)
      d  encoding                       *   value options(*string)               const char *
-     d  format                       10i 0 value
+     d  format                             value like(xmlCint)
 
-     d xmlSaveFileEnc  pr            10i 0 extproc('xmlSaveFileEnc')
+     d xmlSaveFileEnc  pr                  extproc('xmlSaveFileEnc')
+     d                                     like(xmlCint)
      d  filename                       *   value options(*string)               const char *
      d  cur                                value like(xmlDocPtr)
      d  encoding                       *   value options(*string)               const char *
@@ -1531,27 +1571,30 @@
 
       * XHTML
 
-     d xmlIsXHTML      pr            10i 0 extproc('xmlIsXHTML')
+     d xmlIsXHTML      pr                  extproc('xmlIsXHTML')
+     d                                     like(xmlCint)
      d  systemID                       *   value options(*string)               const xmlChar *
      d  publicID                       *   value options(*string)               const xmlChar *
 
       * Compression.
 
      d xmlGetDocCompressMode...
-     d                 pr            10i 0 extproc('xmlGetDocCompressMode')
+     d                 pr                  extproc('xmlGetDocCompressMode')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
 
      d xmlSetDocCompressMode...
      d                 pr                  extproc('xmlSetDocCompressMode')
      d  doc                                value like(xmlDocPtr)
-     d  mode                         10i 0 value
+     d  mode                               value like(xmlCint)
 
      d xmlGetCompressMode...
-     d                 pr            10i 0 extproc('xmlGetCompressMode')
+     d                 pr                  extproc('xmlGetCompressMode')
+     d                                     like(xmlCint)
 
      d xmlSetCompressMode...
      d                 pr                  extproc('xmlSetCompressMode')
-     d  mode                         10i 0 value
+     d  mode                               value like(xmlCint)
 
       * DOM-wrapper helper functions.
 
@@ -1564,37 +1607,41 @@
      d  ctxt                               value like(xmlDOMWrapCtxtPtr)
 
      d xmlDOMWrapReconcileNamespaces...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                      'xmlDOMWrapReconcileNamespaces')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlDOMWrapCtxtPtr)
      d  elem                               value like(xmlNodePtr)
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlDOMWrapAdoptNode...
-     d                 pr            10i 0 extproc('xmlDOMWrapAdoptNode')
+     d                 pr                  extproc('xmlDOMWrapAdoptNode')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlDOMWrapCtxtPtr)
      d  sourceDoc                          value like(xmlDocPtr)
      d  node                               value like(xmlNodePtr)
      d  destDoc                            value like(xmlDocPtr)
      d  destParent                         value like(xmlNodePtr)
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlDOMWrapRemoveNode...
-     d                 pr            10i 0 extproc('xmlDOMWrapRemoveNode')
+     d                 pr                  extproc('xmlDOMWrapRemoveNode')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlDOMWrapCtxtPtr)
      d  doc                                value like(xmlDocPtr)
      d  node                               value like(xmlNodePtr)
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlDOMWrapCloneNode...
-     d                 pr            10i 0 extproc('xmlDOMWrapCloneNode')
+     d                 pr                  extproc('xmlDOMWrapCloneNode')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlDOMWrapCtxtPtr)
      d  sourceDoc                          value like(xmlDocPtr)
      d  node                               value like(xmlNodePtr)
      d  clonedNode                         like(xmlNodePtr)
      d  destDoc                            value like(xmlDocPtr)
      d  destParent                         value like(xmlNodePtr)
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
       /if defined(LIBXML_TREE_ENABLED)
 
diff --git a/os400/libxmlrpg/uri.rpgle b/os400/libxmlrpg/uri.rpgle
index 9a23d80..de03392 100644
--- a/os400/libxmlrpg/uri.rpgle
+++ b/os400/libxmlrpg/uri.rpgle
@@ -10,6 +10,7 @@
       /define XML_URI_H__
 
       /include "libxmlrpg/xmlversion"
+      /include "libxmlrpg/xmlTypesC"
       /include "libxmlrpg/tree"
 
       * xmlURI:
@@ -30,11 +31,11 @@
      d  authority                      *                                        char *
      d  server                         *                                        char *
      d  user                           *                                        char *
-     d  port                         10i 0
+     d  port                               like(xmlCint)
      d  path                           *                                        char *
      d  query                          *                                        char *
      d  fragment                       *                                        char *
-     d  cleanup                      10i 0
+     d  cleanup                            like(xmlCint)
      d  query_raw                      *                                        char *
 
      d xmlCreateURI    pr                  extproc('xmlCreateURI')
@@ -56,10 +57,11 @@
      d xmlParseURIRaw  pr                  extproc('xmlParseURIRaw')
      d                                     like(xmlURIPtr)
      d  str                            *   value options(*string)               const char *
-     d  raw                          10i 0 value
+     d  raw                                value like(xmlCint)
 
      d xmlParseURIReference...
-     d                 pr            10i 0 extproc('xmlParseURIReference')
+     d                 pr                  extproc('xmlParseURIReference')
+     d                                     like(xmlCint)
      d  uri                                value like(xmlURIPtr)
      d  str                            *   value options(*string)               const char *
 
@@ -78,11 +80,12 @@
      d xmlURIUnescapeString...
      d                 pr              *   extproc('xmlURIUnescapeString')      char *
      d  str                            *   value options(*string)               const char *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
      d  target                         *   value options(*string)               char *
 
      d xmlNormalizeURIPath...
-     d                 pr            10i 0 extproc('xmlNormalizeURIPath')
+     d                 pr                  extproc('xmlNormalizeURIPath')
+     d                                     like(xmlCint)
      d  path                           *   value options(*string)               char *
 
      d xmlURIEscape    pr              *   extproc('xmlURIEscape')              xmlChar *
diff --git a/os400/libxmlrpg/valid.rpgle b/os400/libxmlrpg/valid.rpgle
index 722b89d..32ebbd3 100644
--- a/os400/libxmlrpg/valid.rpgle
+++ b/os400/libxmlrpg/valid.rpgle
@@ -9,6 +9,7 @@
       /define XML_VALID_H__
 
       /include "libxmlrpg/xmlversion"
+      /include "libxmlrpg/xmlTypesC"
       /include "libxmlrpg/xmlerror"
       /include "libxmlrpg/tree"
       /include "libxmlrpg/list"
@@ -63,19 +64,19 @@
       * Node analysis stack used when validating within entities
       *
      d  node                               like(xmlNodePtr)                     Current parsed Node
-     d  nodeNr                       10i 0                                      Parsing stack depth
-     d  nodeMax                      10i 0                                      Max stack depth
+     d  nodeNr                             like(xmlCint)                        Parsing stack depth
+     d  nodeMax                            like(xmlCint)                        Max stack depth
      d  nodeTab                        *                                        xmlNodePtr *
       *
-     d  finishDtd                    10u 0                                      Finish validtng DTD?
+     d  finishDtd                          like(xmlCuint)
      d  doc                                like(xmlDocPtr)                      The document
-     d  valid                        10i 0                                      Temp check result
+     d  valid                              like(xmlCint)                        Temp check result
       *
       * state state used for non-determinist content validation
       *
      d  vstate                         *                                        xmlValidState *
-     d  vstateNr                     10i 0                                      Validat. stack depth
-     d  vstateMax                    10i 0                                      Max stack depth
+     d  vstateNr                           like(xmlCint)                        Validat. stack depth
+     d  vstateMax                          like(xmlCint)                        Max stack depth
      d  vstateTab                      *                                        xmlValidState *
       *
       /if defined(LIBXML_REGEXP_ENABLED)
@@ -189,9 +190,9 @@
      d xmlSnprintfElementContent...
      d                 pr                  extproc('xmlSnprintfElementContent')
      d  buf                       65535    options(*varsize)
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
      d  content                            value like(xmlElementContentPtr)
-     d  englob                       10i 0 value
+     d  englob                             value like(xmlCint)
 
       /if defined(LIBXML_OUTPUT_ENABLED)
       * DEPRECATED
@@ -199,7 +200,7 @@
      d                 pr                  extproc('xmlSprintfElementContent')
      d  buf                       65535    options(*varsize)
      d  content                            value like(xmlElementContentPtr)
-     d  englob                       10i 0 value
+     d  englob                             value like(xmlCint)
       /endif                                                                    LIBXML_OUTPUT_ENABLD
 
       * DEPRECATED
@@ -311,12 +312,14 @@
      d  doc                                value like(xmlDocPtr)
      d  ID                             *   value options(*string)               const xmlChar *
 
-     d xmlIsID         pr            10i 0 extproc('xmlIsID')
+     d xmlIsID         pr                  extproc('xmlIsID')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
      d  node                               value like(xmlNodePtr)
      d  attr                               value like(xmlAttrPtr)
 
-     d xmlRemoveID     pr            10i 0 extproc('xmlRemoveID')
+     d xmlRemoveID     pr                  extproc('xmlRemoveID')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
      d  attr                               value like(xmlAttrPtr)
 
@@ -333,12 +336,14 @@
      d                 pr                  extproc('xmlFreeRefTable')
      d  table                              value like(xmlRefTablePtr)
 
-     d xmlIsRef        pr            10i 0 extproc('xmlIsRef')
+     d xmlIsRef        pr                  extproc('xmlIsRef')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
      d  node                               value like(xmlNodePtr)
      d  attr                               value like(xmlAttrPtr)
 
-     d xmlRemoveRef    pr            10i 0 extproc('xmlRemoveRef')
+     d xmlRemoveRef    pr                  extproc('xmlRemoveRef')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
      d  attr                               value like(xmlAttrPtr)
 
@@ -361,12 +366,14 @@
      d  ctxt                               value like(xmlValidCtxtPtr)
 
      d xmlValidateRoot...
-     d                 pr            10i 0 extproc('xmlValidateRoot')
+     d                 pr                  extproc('xmlValidateRoot')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
 
      d xmlValidateElementDecl...
-     d                 pr            10i 0 extproc('xmlValidateElementDecl')
+     d                 pr                  extproc('xmlValidateElementDecl')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
      d  elem                               value like(xmlElementPtr)
@@ -389,51 +396,60 @@
      d  value                          *   value options(*string)               const xmlChar *
 
      d xmlValidateAttributeDecl...
-     d                 pr            10i 0 extproc('xmlValidateAttributeDecl')
+     d                 pr                  extproc('xmlValidateAttributeDecl')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
      d  attr                               value like(xmlAttributePtr)
 
      d xmlValidateAttributeValue...
-     d                 pr            10i 0 extproc('xmlValidateAttributeValue')
+     d                 pr                  extproc('xmlValidateAttributeValue')
+     d                                     like(xmlCint)
      d  type                               value like(xmlAttributeType)
      d  value                          *   value options(*string)               const xmlChar *
 
      d xmlValidateNotationDecl...
-     d                 pr            10i 0 extproc('xmlValidateNotationDecl')
+     d                 pr                  extproc('xmlValidateNotationDecl')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
      d  nota                               value like(xmlNotationPtr)
 
-     d xmlValidateDtd  pr            10i 0 extproc('xmlValidateDtd')
+     d xmlValidateDtd  pr                  extproc('xmlValidateDtd')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
      d  dtd                                value like(xmlDtdPtr)
 
      d xmlValidateDtdFinal...
-     d                 pr            10i 0 extproc('xmlValidateDtdFinal')
+     d                 pr                  extproc('xmlValidateDtdFinal')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
 
      d xmlValidateDocument...
-     d                 pr            10i 0 extproc('xmlValidateDocument')
+     d                 pr                  extproc('xmlValidateDocument')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
 
      d xmlValidateElement...
-     d                 pr            10i 0 extproc('xmlValidateElement')
+     d                 pr                  extproc('xmlValidateElement')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
      d  elem                               value like(xmlNodePtr)
 
      d xmlValidateOneElement...
-     d                 pr            10i 0 extproc('xmlValidateOneElement')
+     d                 pr                  extproc('xmlValidateOneElement')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
      d  elem                               value like(xmlNodePtr)
 
      d xmlValidateOneAttribute...
-     d                 pr            10i 0 extproc('xmlValidateOneAttribute')
+     d                 pr                  extproc('xmlValidateOneAttribute')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
      d  elem                               value like(xmlNodePtr)
@@ -441,7 +457,8 @@
      d  value                          *   value options(*string)               const xmlChar *
 
      d xmlValidateOneNamespace...
-     d                 pr            10i 0 extproc('xmlValidateOneNamespace')
+     d                 pr                  extproc('xmlValidateOneNamespace')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
      d  elem                               value like(xmlNodePtr)
@@ -450,7 +467,8 @@
      d  value                          *   value options(*string)               const xmlChar *
 
      d xmlValidateDocumentFinal...
-     d                 pr            10i 0 extproc('xmlValidateDocumentFinal')
+     d                 pr                  extproc('xmlValidateDocumentFinal')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
       /endif                                                                    LIBXML_VALID_ENABLED
@@ -463,7 +481,8 @@
       /endif
       /if defined(XML_TESTVAL)
      d xmlValidateNotationUse...
-     d                 pr            10i 0 extproc('xmlValidateNotationUse')
+     d                 pr                  extproc('xmlValidateNotationUse')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
      d  notationName                   *   value options(*string)               const xmlChar *
@@ -472,7 +491,8 @@
       /endif
 
      d xmlIsMixedElement...
-     d                 pr            10i 0 extproc('xmlIsMixedElement')
+     d                 pr                  extproc('xmlIsMixedElement')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
      d  name                           *   value options(*string)               const xmlChar *
 
@@ -512,59 +532,69 @@
 
       /if defined(LIBXML_VALID_ENABLED)
      d xmlValidGetPotentialChildren...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                      'xmlValidGetPotentialChildren')
+     d                                     like(xmlCint)
      d  ctree                          *   value                                xmlElementContent *
      d  names                          *                                        const xmlChar *(*)
-     d  len                          10i 0
-     d  max                          10i 0 value
+     d  len                                like(xmlCint)
+     d  max                                value like(xmlCint)
 
      d xmlValidGetValidElements...
-     d                 pr            10i 0 extproc('xmlValidGetValidElements')
+     d                 pr                  extproc('xmlValidGetValidElements')
+     d                                     like(xmlCint)
      d  prev                               like(xmlNodePtr)
      d  next                               like(xmlNodePtr)
      d  names                          *                                        const xmlChar *(*)
-     d  max                          10i 0 value
+     d  max                                value like(xmlCint)
 
      d xmlValidateNameValue...
-     d                 pr            10i 0 extproc('xmlValidateNameValue')
+     d                 pr                  extproc('xmlValidateNameValue')
+     d                                     like(xmlCint)
      d  value                          *   value options(*string)               const xmlChar *
 
      d xmlValidateNamesValue...
-     d                 pr            10i 0 extproc('xmlValidateNamesValue')
+     d                 pr                  extproc('xmlValidateNamesValue')
+     d                                     like(xmlCint)
      d  value                          *   value options(*string)               const xmlChar *
 
      d xmlValidateNmtokenValue...
-     d                 pr            10i 0 extproc('xmlValidateNmtokenValue')
+     d                 pr                  extproc('xmlValidateNmtokenValue')
+     d                                     like(xmlCint)
      d  value                          *   value options(*string)               const xmlChar *
 
      d xmlValidateNmtokensValue...
-     d                 pr            10i 0 extproc('xmlValidateNmtokensValue')
+     d                 pr                  extproc('xmlValidateNmtokensValue')
+     d                                     like(xmlCint)
      d  value                          *   value options(*string)               const xmlChar *
 
       /if defined(LIBXML_REGEXP_ENABLED)
       * Validation based on the regexp support
 
      d xmlValidBuildContentModel...
-     d                 pr            10i 0 extproc('xmlValidBuildContentModel')
+     d                 pr                  extproc('xmlValidBuildContentModel')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  elem                               value like(xmlElementPtr)
 
      d xmlValidatePushElement...
-     d                 pr            10i 0 extproc('xmlValidatePushElement')
+     d                 pr                  extproc('xmlValidatePushElement')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
      d  elem                               value like(xmlNodePtr)
      d  qname                          *   value options(*string)               const xmlChar *
 
      d xmlValidatePushCData...
-     d                 pr            10i 0 extproc('xmlValidatePushCData')
+     d                 pr                  extproc('xmlValidatePushCData')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  data                           *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlValidatePopElement...
-     d                 pr            10i 0 extproc('xmlValidatePopElement')
+     d                 pr                  extproc('xmlValidatePopElement')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlValidCtxtPtr)
      d  doc                                value like(xmlDocPtr)
      d  elem                               value like(xmlNodePtr)
diff --git a/os400/libxmlrpg/xinclude.rpgle b/os400/libxmlrpg/xinclude.rpgle
index c0b68ff..93b7c51 100644
--- a/os400/libxmlrpg/xinclude.rpgle
+++ b/os400/libxmlrpg/xinclude.rpgle
@@ -12,6 +12,7 @@
       /define XML_XINCLUDE_H__
 
       /include "libxmlrpg/xmlversion"
+      /include "libxmlrpg/xmlTypesC"
       /include "libxmlrpg/tree"
 
       /if defined(LIBXML_XINCLUDE_ENABLED)
@@ -89,37 +90,43 @@
       * standalone processing
 
      d xmlXIncludeProcess...
-     d                 pr            10i 0 extproc('xmlXIncludeProcess')
+     d                 pr                  extproc('xmlXIncludeProcess')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
 
      d xmlXIncludeProcessFlags...
-     d                 pr            10i 0 extproc('xmlXIncludeProcessFlags')
+     d                 pr                  extproc('xmlXIncludeProcessFlags')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
-     d  flags                        10i 0 value
+     d  flags                              value like(xmlCint)
 
      d xmlXIncludeProcessFlagsData...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlXIncludeProcessFlagsData')
+     d                                     like(xmlCint)
      d  doc                                value like(xmlDocPtr)
-     d  flags                        10i 0 value
+     d  flags                              value like(xmlCint)
      d  data                           *   value                                void *
 
      d xmlXIncludeProcessTreeFlagsData...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlXIncludeProcessTreeFlagsData')
+     d                                     like(xmlCint)
      d  tree                               value like(xmlNodePtr)
-     d  flags                        10i 0 value
+     d  flags                              value like(xmlCint)
      d  data                           *   value                                void *
 
      d xmlXIncludeProcessTree...
-     d                 pr            10i 0 extproc('xmlXIncludeProcessTree')
+     d                 pr                  extproc('xmlXIncludeProcessTree')
+     d                                     like(xmlCint)
      d  tree                               value like(xmlNodePtr)
 
      d xmlXIncludeProcessTreeFlags...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlXIncludeProcessTreeFlags')
+     d                                     like(xmlCint)
      d  tree                               value like(xmlNodePtr)
-     d  flags                        10i 0 value
+     d  flags                              value like(xmlCint)
 
 
       * contextual processing
@@ -130,16 +137,18 @@
      d  doc                                value like(xmlDocPtr)
 
      d xmlXIncludeSetFlags...
-     d                 pr            10i 0 extproc('xmlXIncludeSetFlags')
+     d                 pr                  extproc('xmlXIncludeSetFlags')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlXIncludeCtxtPtr)
-     d  flags                        10i 0 value
+     d  flags                              value like(xmlCint)
 
      d xmlXIncludeFreeContext...
      d                 pr                  extproc('xmlXIncludeFreeContext')
      d  ctxt                               value like(xmlXIncludeCtxtPtr)
 
      d xmlXIncludeProcessNode...
-     d                 pr            10i 0 extproc('xmlXIncludeProcessNode')
+     d                 pr                  extproc('xmlXIncludeProcessNode')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlXIncludeCtxtPtr)
      d  tree                               value like(xmlNodePtr)
 
diff --git a/os400/libxmlrpg/xlink.rpgle b/os400/libxmlrpg/xlink.rpgle
index 964e605..e6ebdc6 100644
--- a/os400/libxmlrpg/xlink.rpgle
+++ b/os400/libxmlrpg/xlink.rpgle
@@ -9,10 +9,12 @@
       /define XML_XLINK_H__
 
       /include "libxmlrpg/xmlversion"
-      /include "libxmlrpg/tree"
 
       /if defined(LIBXML_XPTR_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
+      /include "libxmlrpg/tree"
+
       * Various defines for the various Link properties.
       *
       * NOTE: the link detection layer will try to resolve QName expansion
@@ -26,7 +28,8 @@
      d xlinkRole       s               *   based(######typedef######)           xmlChar *
      d xlinkTitle      s               *   based(######typedef######)           xmlChar *
 
-     d xlinkType       s             10i 0 based(######typedef######)           enum
+     d xlinkType       s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XLINK_TYPE_NONE...
      d                 c                   0
      d  XLINK_TYPE_SIMPLE...
@@ -36,7 +39,8 @@
      d  XLINK_TYPE_EXTENDED_SET...
      d                 c                   3
 
-     d xlinkShow       s             10i 0 based(######typedef######)           enum
+     d xlinkShow       s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XLINK_SHOW_NONE...
      d                 c                   0
      d  XLINK_SHOW_NEW...
@@ -46,7 +50,8 @@
      d  XLINK_SHOW_REPLACE...
      d                 c                   3
 
-     d xlinkActuate    s             10i 0 based(######typedef######)           enum
+     d xlinkActuate    s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XLINK_ACTUATE_NONE...
      d                 c                   0
      d  XLINK_ACTUATE_AUTO...
diff --git a/os400/libxmlrpg/xmlIO.rpgle b/os400/libxmlrpg/xmlIO.rpgle
index 261b0e2..6c0afcc 100644
--- a/os400/libxmlrpg/xmlIO.rpgle
+++ b/os400/libxmlrpg/xmlIO.rpgle
@@ -130,8 +130,8 @@
       *
      d  buffer                             like(xmlBufPtr)                      UTF-8 local buffer
      d  raw                                like(xmlBufPtr)                      Raw input buffer
-     d  compressed                   10i 0
-     d  error                        10i 0
+     d  compressed                         like(xmlCint)
+     d  error                              like(xmlCint)
      d  rawconsumed                        like(xmlCulong)
 
       /if defined(LIBXML_OUTPUT_ENABLED)
@@ -146,8 +146,8 @@
       *
      d  buffer                             like(xmlBufPtr)                      UTF-8/ISOLatin local
      d  conv                               like(xmlBufPtr)                      Buffer for output
-     d  written                      10i 0                                      Total # byte written
-     d  error                        10i 0
+     d  written                            like(xmlCint)                        Total # byte written
+     d  error                              like(xmlCint)
       /endif                                                                    LIBXML_OUTPUT_ENABLD
 
       * Interfaces for input
@@ -156,7 +156,8 @@
      d                 pr                  extproc('xmlCleanupInputCallbacks')
 
      d xmlPopInputCallbacks...
-     d                 pr            10i 0 extproc('xmlPopInputCallbacks')
+     d                 pr                  extproc('xmlPopInputCallbacks')
+     d                                     like(xmlCint)
 
      d xmlRegisterDefaultInputCallbacks...
      d                 pr                  extproc(
@@ -185,7 +186,7 @@
      d                 pr                  extproc(
      d                                      'xmlParserInputBufferCreateFd')
      d                                     like(xmlParserInputBufferPtr)
-     d  fd                           10i 0 value
+     d  fd                                 value like(xmlCint)
      d  enc                                value like(xmlCharEncoding)
 
      d xmlParserInputBufferCreateMem...
@@ -193,7 +194,7 @@
      d                                      'xmlParserInputBufferCreateMem')
      d                                     like(xmlParserInputBufferPtr)
      d  mem                            *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
      d  enc                                value like(xmlCharEncoding)
 
      d xmlParserInputBufferCreateStatic...
@@ -201,7 +202,7 @@
      d                                      'xmlParserInputBufferCreateStatic')
      d                                     like(xmlParserInputBufferPtr)
      d  mem                            *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
      d  enc                                value like(xmlCharEncoding)
 
      d xmlParserInputBufferCreateIO...
@@ -214,19 +215,22 @@
      d  enc                                value like(xmlCharEncoding)
 
      d xmlParserInputBufferRead...
-     d                 pr            10i 0 extproc('xmlParserInputBufferRead')
+     d                 pr                  extproc('xmlParserInputBufferRead')
+     d                                     like(xmlCint)
      d  in                                 value like(xmlParserInputBufferPtr)
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlParserInputBufferGrow...
-     d                 pr            10i 0 extproc('xmlParserInputBufferGrow')
+     d                 pr                  extproc('xmlParserInputBufferGrow')
+     d                                     like(xmlCint)
      d  in                                 value like(xmlParserInputBufferPtr)
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlParserInputBufferPush...
-     d                 pr            10i 0 extproc('xmlParserInputBufferPush')
+     d                 pr                  extproc('xmlParserInputBufferPush')
+     d                                     like(xmlCint)
      d  in                                 value like(xmlParserInputBufferPtr)
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
      d  buf                            *   value options(*string)               const char *
 
      d xmlFreeParserInputBuffer...
@@ -238,7 +242,8 @@
      d  filename                       *   value options(*string)               const char *
 
      d xmlRegisterInputCallbacks...
-     d                 pr            10i 0 extproc('xmlRegisterInputCallbacks')
+     d                 pr                  extproc('xmlRegisterInputCallbacks')
+     d                                     like(xmlCint)
      d  matchFunc                          value like(xmlInputMatchCallback)
      d  openFunc                           value like(xmlInputOpenCallback)
      d  readFunc                           value like(xmlInputReadCallback)
@@ -268,7 +273,7 @@
      d  URI                            *   value options(*string)               const char *
      d  encoder                            value
      d                                     like(xmlCharEncodingHandlerPtr)
-     d  compression                  10i 0 value
+     d  compression                        value like(xmlCint)
 
      d xmlOutputBufferCreateFile...
      d                 pr                  extproc('xmlOutputBufferCreateFile')
@@ -288,7 +293,7 @@
      d xmlOutputBufferCreateFd...
      d                 pr                  extproc('xmlOutputBufferCreateFd')
      d                                     like(xmlOutputBufferPtr)
-     d  fd                           10i 0 value
+     d  fd                                 value like(xmlCint)
      d  encoder                            value
      d                                     like(xmlCharEncodingHandlerPtr)
 
@@ -313,32 +318,38 @@
      d  out                                value like(xmlOutputBufferPtr)
 
      d xmlOutputBufferWrite...
-     d                 pr            10i 0 extproc('xmlOutputBufferWrite')
+     d                 pr                  extproc('xmlOutputBufferWrite')
+     d                                     like(xmlCint)
      d  out                                value like(xmlOutputBufferPtr)
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
      d  buf                            *   value options(*string)               const char *
 
      d xmlOutputBufferWriteString...
-     d                 pr            10i 0 extproc('xmlOutputBufferWriteString')
+     d                 pr                  extproc('xmlOutputBufferWriteString')
+     d                                     like(xmlCint)
      d  out                                value like(xmlOutputBufferPtr)
      d  str                            *   value options(*string)               const char *
 
      d xmlOutputBufferWriteEscape...
-     d                 pr            10i 0 extproc('xmlOutputBufferWriteEscape')
+     d                 pr                  extproc('xmlOutputBufferWriteEscape')
+     d                                     like(xmlCint)
      d  out                                value like(xmlOutputBufferPtr)
      d  str                            *   value options(*string)               const xmlChar *
      d  escaping                           value like(xmlCharEncodingOutputFunc)
 
      d xmlOutputBufferFlush...
-     d                 pr            10i 0 extproc('xmlOutputBufferFlush')
+     d                 pr                  extproc('xmlOutputBufferFlush')
+     d                                     like(xmlCint)
      d  out                                value like(xmlOutputBufferPtr)
 
      d xmlOutputBufferClose...
-     d                 pr            10i 0 extproc('xmlOutputBufferClose')
+     d                 pr                  extproc('xmlOutputBufferClose')
+     d                                     like(xmlCint)
      d  out                                value like(xmlOutputBufferPtr)
 
      d xmlRegisterOutputCallbacks...
-     d                 pr            10i 0 extproc('xmlRegisterOutputCallbacks')
+     d                 pr                  extproc('xmlRegisterOutputCallbacks')
+     d                                     like(xmlCint)
      d  matchFunc                          value like(xmlOutputMatchCallback)
      d  openFunc                           value like(xmlOutputOpenCallback)
      d  writeFunc                          value like(xmlOutputWriteCallback)
@@ -379,29 +390,34 @@
      d  path                           *   value options(*string)               const xmlChar *
 
      d xmlCheckFilename...
-     d                 pr            10i 0 extproc('xmlCheckFilename')
+     d                 pr                  extproc('xmlCheckFilename')
+     d                                     like(xmlCint)
      d  path                           *   value options(*string)               const char *
 
       * Default 'file://' protocol callbacks
 
-     d xmlFileMatch    pr            10i 0 extproc('xmlFileMatch')
+     d xmlFileMatch    pr                  extproc('xmlFileMatch')
+     d                                     like(xmlCint)
      d  filename                       *   value options(*string)               const char *
 
      d xmlFileOpen     pr              *   extproc('xmlFileOpen')               void *
      d  filename                       *   value options(*string)               const char *
 
-     d xmlFileRead     pr            10i 0 extproc('xmlFileRead')
+     d xmlFileRead     pr                  extproc('xmlFileRead')
+     d                                     like(xmlCint)
      d  context                        *   value                                void *
      d  buffer                    65535    options(*varsize)
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
-     d xmlFileClose    pr            10i 0 extproc('xmlFileClose')
+     d xmlFileClose    pr                  extproc('xmlFileClose')
+     d                                     like(xmlCint)
      d  context                        *   value                                void *
 
       * Default 'http://' protocol callbacks
 
       /if defined(LIBXML_HTTP_ENABLED)
-     d xmlIOHTTPMatch  pr            10i 0 extproc('xmlIOHTTPMatch')
+     d xmlIOHTTPMatch  pr                  extproc('xmlIOHTTPMatch')
+     d                                     like(xmlCint)
      d  filename                       *   value options(*string)               const char *
 
      d xmlIOHTTPOpen   pr              *   extproc('xmlIOHTTPOpen')             void *
@@ -410,33 +426,38 @@
       /if defined(LIBXML_OUTPUT_ENABLED)
      d xmlIOHTTPOpenW  pr              *   extproc('xmlIOHTTPOpenW')            void *
      d  post_uri                       *   value options(*string)               const char *
-     d  compression                  10i 0 value
+     d  compression                        value like(xmlCint)
       /endif                                                                    LIBXML_OUTPUT_ENABLD
 
-     d xmlIOHTTPRead   pr            10i 0 extproc('xmlIOHTTPRead')
+     d xmlIOHTTPRead   pr                  extproc('xmlIOHTTPRead')
+     d                                     like(xmlCint)
      d  context                        *   value                                void *
      d  buffer                    65535    options(*varsize)
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
-     d xmlIOHTTPClose  pr            10i 0 extproc('xmlIOHTTPClose')
+     d xmlIOHTTPClose  pr                  extproc('xmlIOHTTPClose')
+     d                                     like(xmlCint)
      d  context                        *   value                                void *
       /endif                                                                    LIBXML_HTTP_ENABLED
 
       * Default 'ftp://' protocol callbacks
 
       /if defined(LIBXML_FTP_ENABLED)
-     d xmlIOFTPMatch   pr            10i 0 extproc('xmlIOFTPMatch')
+     d xmlIOFTPMatch   pr                  extproc('xmlIOFTPMatch')
+     d                                     like(xmlCint)
      d  filename                       *   value options(*string)               const char *
 
      d xmlIOFTPOpen    pr              *   extproc('xmlIOFTPOpen')              void *
      d  filename                       *   value options(*string)               const char *
 
-     d xmlIOFTPRead    pr            10i 0 extproc('xmlIOFTPRead')
+     d xmlIOFTPRead    pr                  extproc('xmlIOFTPRead')
+     d                                     like(xmlCint)
      d  context                        *   value                                void *
      d  buffer                    65535    options(*varsize)
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
-     d xmlIOFTPClose   pr            10i 0 extproc('xmlIOFTPClose')
+     d xmlIOFTPClose   pr                  extproc('xmlIOFTPClose')
+     d                                     like(xmlCint)
      d  context                        *   value                                void *
       /endif                                                                    LIBXML_FTP_ENABLED
 
diff --git a/os400/libxmlrpg/xmlTypesC.rpgle b/os400/libxmlrpg/xmlTypesC.rpgle
index 798d74d..48a23bf 100644
--- a/os400/libxmlrpg/xmlTypesC.rpgle
+++ b/os400/libxmlrpg/xmlTypesC.rpgle
@@ -20,5 +20,7 @@
      d xmlCenum        s             10i 0 based(######typedef######)
      d xmlCssize_t     s             10i 0 based(######typedef######)
      d xmlCsize_t      s             10u 0 based(######typedef######)
+     d xmlCfloat       s              4f   based(######typedef######)
+     d xmlCdouble      s              8f   based(######typedef######)
 
       /endif
diff --git a/os400/libxmlrpg/xmlautomata.rpgle b/os400/libxmlrpg/xmlautomata.rpgle
index 4979725..0e9cc22 100644
--- a/os400/libxmlrpg/xmlautomata.rpgle
+++ b/os400/libxmlrpg/xmlautomata.rpgle
@@ -9,11 +9,12 @@
       /define XML_AUTOMATA_H__
 
       /include "libxmlrpg/xmlversion"
-      /include "libxmlrpg/tree"
 
       /if defined(LIBXML_REGEXP_ENABLED)
       /if defined(LIBXML_AUTOMATA_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
+      /include "libxmlrpg/tree"
       /include "libxmlrpg/xmlregexp"
 
       * xmlAutomataPtr:
@@ -44,7 +45,8 @@
      d  am                                 value like(xmlAutomataPtr)
 
      d xmlAutomataSetFinalState...
-     d                 pr            10i 0 extproc('xmlAutomataSetFinalState')
+     d                 pr                  extproc('xmlAutomataSetFinalState')
+     d                                     like(xmlCint)
      d  am                                 value like(xmlAutomataPtr)
      d  state                              value like(xmlAutomataStatePtr)
 
@@ -89,8 +91,8 @@
      d  from                               value like(xmlAutomataStatePtr)
      d  to                                 value like(xmlAutomataStatePtr)
      d  token                          *   value options(*string)               const xmlChar *
-     d  min                          10i 0 value
-     d  max                          10i 0 value
+     d  min                                value like(xmlCint)
+     d  max                                value like(xmlCint)
      d  data                           *   value options(*string)               void *
 
      d xmlAutomataNewCountTrans2...
@@ -101,8 +103,8 @@
      d  to                                 value like(xmlAutomataStatePtr)
      d  token                          *   value options(*string)               const xmlChar *
      d  token2                         *   value options(*string)               const xmlChar *
-     d  min                          10i 0 value
-     d  max                          10i 0 value
+     d  min                                value like(xmlCint)
+     d  max                                value like(xmlCint)
      d  data                           *   value options(*string)               void *
 
      d xmlAutomataNewOnceTrans...
@@ -112,8 +114,8 @@
      d  from                               value like(xmlAutomataStatePtr)
      d  to                                 value like(xmlAutomataStatePtr)
      d  token                          *   value options(*string)               const xmlChar *
-     d  min                          10i 0 value
-     d  max                          10i 0 value
+     d  min                                value like(xmlCint)
+     d  max                                value like(xmlCint)
      d  data                           *   value options(*string)               void *
 
      d xmlAutomataNewOnceTrans2...
@@ -124,8 +126,8 @@
      d  to                                 value like(xmlAutomataStatePtr)
      d  token                          *   value options(*string)               const xmlChar *
      d  token2                         *   value options(*string)               const xmlChar *
-     d  min                          10i 0 value
-     d  max                          10i 0 value
+     d  min                                value like(xmlCint)
+     d  max                                value like(xmlCint)
      d  data                           *   value options(*string)               void *
 
      d xmlAutomataNewAllTrans...
@@ -134,7 +136,7 @@
      d  am                                 value like(xmlAutomataPtr)
      d  from                               value like(xmlAutomataStatePtr)
      d  to                                 value like(xmlAutomataStatePtr)
-     d  lax                          10i 0 value
+     d  lax                                value like(xmlCint)
 
      d xmlAutomataNewEpsilon...
      d                 pr                  extproc('xmlAutomataNewEpsilon')
@@ -149,7 +151,7 @@
      d  am                                 value like(xmlAutomataPtr)
      d  from                               value like(xmlAutomataStatePtr)
      d  to                                 value like(xmlAutomataStatePtr)
-     d  counter                      10i 0 value
+     d  counter                            value like(xmlCint)
 
      d xmlAutomataNewCounterTrans...
      d                 pr                  extproc('xmlAutomataNewCounterTrans')
@@ -157,13 +159,14 @@
      d  am                                 value like(xmlAutomataPtr)
      d  from                               value like(xmlAutomataStatePtr)
      d  to                                 value like(xmlAutomataStatePtr)
-     d  counter                      10i 0 value
+     d  counter                            value like(xmlCint)
 
      d xmlAutomataNewCounter...
-     d                 pr            10i 0 extproc('xmlAutomataNewCounter')
+     d                 pr                  extproc('xmlAutomataNewCounter')
+     d                                     like(xmlCint)
      d  am                                 value like(xmlAutomataPtr)
-     d  min                          10i 0 value
-     d  max                          10i 0 value
+     d  min                                value like(xmlCint)
+     d  max                                value like(xmlCint)
 
      d xmlAutomataCompile...
      d                 pr                  extproc('xmlAutomataCompile')
@@ -171,7 +174,8 @@
      d  am                                 value like(xmlAutomataPtr)
 
      d xmlAutomataIsDeterminist...
-     d                 pr            10i 0 extproc('xmlAutomataIsDeterminist')
+     d                 pr                  extproc('xmlAutomataIsDeterminist')
+     d                                     like(xmlCint)
      d  am                                 value like(xmlAutomataPtr)
 
       /endif                                                                    AUTOMATA_ENABLED
diff --git a/os400/libxmlrpg/xmlerror.rpgle b/os400/libxmlrpg/xmlerror.rpgle
index b77caad..6688b37 100644
--- a/os400/libxmlrpg/xmlerror.rpgle
+++ b/os400/libxmlrpg/xmlerror.rpgle
@@ -5,16 +5,18 @@
       *
       * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
 
-      /include "libxmlrpg/parser"
-
       /if not defined(XML_ERROR_H__)
       /define XML_ERROR_H__
 
+      /include "libxmlrpg/xmlTypesC"
+      /include "libxmlrpg/parser"
+
       * xmlErrorLevel:
       *
       * Indicates the level of an error
 
-     d xmlErrorLevel   s             10i 0 based(######typedef######)           enum
+     d xmlErrorLevel   s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_ERR_NONE   c                   0
      d  XML_ERR_WARNING...                                                      A simple warning
      d                 c                   1
@@ -25,7 +27,8 @@
       *
       * Indicates where an error may have come from
 
-     d xmlErrorDomain  s             10i 0 based(######typedef######)           enum
+     d xmlErrorDomain  s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_FROM_NONE  c                   0
      d  XML_FROM_PARSER...                                                      XML parser
      d                 c                   1
@@ -86,17 +89,17 @@
 
      d xmlError        ds                  based(xmlErrorPtr)
      d                                     align qualified
-     d  domain                       10i 0                                      Libpart raising err
-     d  code                         10i 0                                      Error code
+     d  domain                             like(xmlCint)                        Libpart raising err
+     d  code                               like(xmlCint)                        Error code
      d  message                        *                                        char *
      d  level                              like(xmlErrorLevel)                  Error severity
      d  file                           *                                        File name
-     d  line                         10i 0                                      Line number
+     d  line                               like(xmlCint)                        Line number
      d  str1                           *                                        char *
      d  str2                           *                                        char *
      d  str3                           *                                        char *
-     d  int1                         10i 0                                      Extra number info
-     d  int2                         10i 0                                      Error column
+     d  int1                               like(xmlCint)                        Extra number info
+     d  int2                               like(xmlCint)                        Error column
      d  ctxt                           *                                        void *
      d  node                           *                                        void *
 
@@ -105,7 +108,8 @@
       * This is an error that the XML (or HTML) parser can generate
 
      d xmlParserErrors...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_ERR_OK     c                   0
      d  XML_ERR_INTERNAL_ERROR...
      d                 c                   1
@@ -1674,7 +1678,8 @@
      d xmlResetError   pr                  extproc('xmlResetError')
      d  err                                value like(xmlErrorPtr)
 
-     d xmlCopyError    pr            10i 0 extproc('xmlCopyError')
+     d xmlCopyError    pr                  extproc('xmlCopyError')
+     d                                     like(xmlCint)
      d  from                               value like(xmlErrorPtr)
      d  to                                 value like(xmlErrorPtr)
 
diff --git a/os400/libxmlrpg/xmlmemory.rpgle b/os400/libxmlrpg/xmlmemory.rpgle
index 3c79103..472e941 100644
--- a/os400/libxmlrpg/xmlmemory.rpgle
+++ b/os400/libxmlrpg/xmlmemory.rpgle
@@ -136,19 +136,22 @@
       * The xmlGc function have an extra entry for atomic block
       * allocations useful for garbage collected memory allocators
 
-     d xmlMemSetup     pr            10i 0 extproc('xmlMemSetup')
+     d xmlMemSetup     pr                  extproc('xmlMemSetup')
+     d                                     like(xmlCint)
      d  freeFunc                           value like(xmlFreeFunc)
      d  mallocFunc                         value like(xmlMallocFunc)
      d  reallocFunc                        value like(xmlReallocFunc)
      d  strdupFunc                         value like(xmlStrdupFunc)
 
-     d xmlMemGet       pr            10i 0 extproc('xmlMemGet')
+     d xmlMemGet       pr                  extproc('xmlMemGet')
+     d                                     like(xmlCint)
      d  freeFunc                           like(xmlFreeFunc)
      d  mallocFunc                         like(xmlMallocFunc)
      d  reallocFunc                        like(xmlReallocFunc)
      d  strdupFunc                         like(xmlStrdupFunc)
 
-     d xmlGcMemSetup   pr            10i 0 extproc('xmlGcMemSetup')
+     d xmlGcMemSetup   pr                  extproc('xmlGcMemSetup')
+     d                                     like(xmlCint)
      d  freeFunc                           value like(xmlFreeFunc)
      d  mallocFunc                         value like(xmlMallocFunc)
      d  mallocAtomicFunc...
@@ -156,7 +159,8 @@
      d  reallocFunc                        value like(xmlReallocFunc)
      d  strdupFunc                         value like(xmlStrdupFunc)
 
-     d xmlGcMemGet     pr            10i 0 extproc('xmlGcMemGet')
+     d xmlGcMemGet     pr                  extproc('xmlGcMemGet')
+     d                                     like(xmlCint)
      d  freeFunc                           like(xmlFreeFunc)
      d  mallocFunc                         like(xmlMallocFunc)
      d  mallocAtomicFunc...
@@ -166,7 +170,8 @@
 
       * Initialization of the memory layer.
 
-     d xmlInitMemory   pr            10i 0 extproc('xmlInitMemory')
+     d xmlInitMemory   pr                  extproc('xmlInitMemory')
+     d                                     like(xmlCint)
 
       * Cleanup of the memory layer.
 
@@ -175,9 +180,11 @@
 
       * These are specific to the XML debug memory wrapper.
 
-     d xmlMemUsed      pr            10i 0 extproc('xmlMemUsed')
+     d xmlMemUsed      pr                  extproc('xmlMemUsed')
+     d                                     like(xmlCint)
 
-     d xmlMemBlocks    pr            10i 0 extproc('xmlMemBlocks')
+     d xmlMemBlocks    pr                  extproc('xmlMemBlocks')
+     d                                     like(xmlCint)
 
      d xmlMemDisplay   pr                  extproc('xmlMemDisplay')
      d  fp                             *   value                                FILE *
@@ -189,7 +196,7 @@
 
      d xmlMemShow      pr                  extproc('xmlMemShow')
      d  fp                             *   value                                FILE *
-     d  nr                           10i 0 value
+     d  nr                                 value like(xmlCint)
 
      d xmlMemoryDump   pr                  extproc('xmlMemoryDump')
 
@@ -210,25 +217,25 @@
      d xmlMallocLoc    pr              *   extproc('xmlMallocLoc')              void *
      d  size                               value like(xmlCsize_t)
      d  file                           *   value options(*string)               const char *
-     d  line                         10i 0 value
+     d  line                               value like(xmlCint)
 
      d xmlReallocLoc   pr              *   extproc('xmlReallocLoc')              void *
      d  ptr                            *   value                                void *
      d  size                               value like(xmlCsize_t)
      d  file                           *   value options(*string)               const char *
-     d  line                         10i 0 value
+     d  line                               value like(xmlCint)
 
      d xmlMallocAtomicLoc...
      d                 pr              *   extproc('xmlMallocAtomicLoc')        void *
      d  size                               value like(xmlCsize_t)
      d  file                           *   value options(*string)               const char *
-     d  line                         10i 0 value
+     d  line                               value like(xmlCint)
 
      d xmlMemStrdupLoc...
      d                 pr              *   extproc('xmlMemStrdupLoc')           char *
      d  str                            *   value options(*string)               const char *
      d  file                           *   value options(*string)               const char *
-     d  line                         10i 0 value
+     d  line                               value like(xmlCint)
 
       /if not defined(XML_GLOBALS_H)
       /if not defined(XML_THREADS_H__)
diff --git a/os400/libxmlrpg/xmlmodule.rpgle b/os400/libxmlrpg/xmlmodule.rpgle
index 09592a6..035254d 100644
--- a/os400/libxmlrpg/xmlmodule.rpgle
+++ b/os400/libxmlrpg/xmlmodule.rpgle
@@ -13,6 +13,8 @@
 
       /if defined(LIBXML_MODULES_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
+
       * xmlModulePtr:
       *
       * A handle to a dynamically loaded module
@@ -24,7 +26,8 @@
       * enumeration of options that can be passed down to xmlModuleOpen()
 
      d xmlModuleOption...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_MODULE_LAZY...                                                      Lazy binding
      d                 c                   1
      d  XML_MODULE_LOCAL...                                                     Local binding
@@ -33,18 +36,21 @@
      d xmlModuleOpen   pr                  extproc('xmlModuleOpen')
      d                                     like(xmlModulePtr)
      d  filename                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlModuleSymbol...
-     d                 pr            10i 0 extproc('xmlModuleSymbol')
+     d                 pr                  extproc('xmlModuleSymbol')
+     d                                     like(xmlCint)
      d  module                             value like(xmlModulePtr)
      d  name                           *   value options(*string)               const char *
      d  result                         *                                        void *(*)
 
-     d xmlModuleClose  pr            10i 0 extproc('xmlModuleClose')
+     d xmlModuleClose  pr                  extproc('xmlModuleClose')
+     d                                     like(xmlCint)
      d  module                             value like(xmlModulePtr)
 
-     d xmlModuleFree   pr            10i 0 extproc('xmlModuleFree')
+     d xmlModuleFree   pr                  extproc('xmlModuleFree')
+     d                                     like(xmlCint)
      d  module                             value like(xmlModulePtr)
 
       /endif                                                                    LIBXML_MODULES_ENBLD
diff --git a/os400/libxmlrpg/xmlreader.rpgle b/os400/libxmlrpg/xmlreader.rpgle
index 5084fc8..9ec76b3 100644
--- a/os400/libxmlrpg/xmlreader.rpgle
+++ b/os400/libxmlrpg/xmlreader.rpgle
@@ -24,7 +24,8 @@
       * is used.
 
      d xmlParserSeverities...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_PARSER_SEVERITY_VALIDITY_WARNING...
      d                 c                   1
      d  XML_PARSER_SEVERITY_VALIDITY_ERROR...
@@ -41,7 +42,8 @@
       * Internal state values for the reader.
 
      d xmlTextReaderMode...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_TEXTREADER_MODE_INITIAL...
      d                 c                   0
      d  XML_TEXTREADER_MODE_INTERACTIVE...
@@ -62,7 +64,8 @@
       * xmlReaderForxxx APIs now.
 
      d xmlParserProperties...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_PARSER_LOADDTD...
      d                 c                   1
      d  XML_PARSER_DEFAULTATTRS...
@@ -76,7 +79,8 @@
       *
       * Predefined constants for the different types of nodes.
 
-     d xmlReaderTypes  s             10i 0 based(######typedef######)           enum
+     d xmlReaderTypes  s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_READER_TYPE_NONE...
      d                 c                   0
      d  XML_READER_TYPE_ELEMENT...
@@ -139,17 +143,19 @@
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderSetup...
-     d                 pr            10i 0 extproc('xmlTextReaderSetup')
+     d                 pr                  extproc('xmlTextReaderSetup')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
      d  input                              value like(xmlParserInputBufferPtr)
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
       * Iterators
 
      d xmlTextReaderRead...
-     d                 pr            10i 0 extproc('xmlTextReaderRead')
+     d                 pr                  extproc('xmlTextReaderRead')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
       /if defined(LIBXML_WRITER_ENABLED)
@@ -167,53 +173,64 @@
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderReadAttributeValue...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderReadAttributeValue')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
       * Attributes of the node
 
      d xmlTextReaderAttributeCount...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderAttributeCount')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderDepth...
-     d                 pr            10i 0 extproc('xmlTextReaderDepth')
+     d                 pr                  extproc('xmlTextReaderDepth')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderHasAttributes...
-     d                 pr            10i 0 extproc('xmlTextReaderHasAttributes')
+     d                 pr                  extproc('xmlTextReaderHasAttributes')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderHasValue...
-     d                 pr            10i 0 extproc('xmlTextReaderHasValue')
+     d                 pr                  extproc('xmlTextReaderHasValue')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderIsDefault...
-     d                 pr            10i 0 extproc('xmlTextReaderIsDefault')
+     d                 pr                  extproc('xmlTextReaderIsDefault')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderIsEmptyElement...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderIsEmptyElement')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderNodeType...
-     d                 pr            10i 0 extproc('xmlTextReaderNodeType')
+     d                 pr                  extproc('xmlTextReaderNodeType')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderQuoteChar...
-     d                 pr            10i 0 extproc('xmlTextReaderQuoteChar')
+     d                 pr                  extproc('xmlTextReaderQuoteChar')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderReadState...
-     d                 pr            10i 0 extproc('xmlTextReaderReadState')
+     d                 pr                  extproc('xmlTextReaderReadState')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderIsNamespaceDecl...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderIsNamespaceDecl')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderConstBaseUri...
@@ -285,14 +302,15 @@
       * Methods of the XmlTextReader
 
      d xmlTextReaderClose...
-     d                 pr            10i 0 extproc('xmlTextReaderClose')
+     d                 pr                  extproc('xmlTextReaderClose')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderGetAttributeNo...
      d                 pr              *   extproc(                             xmlChar *
      d                                     'xmlTextReaderGetAttributeNo')
      d  reader                             value like(xmlTextReaderPtr)
-     d  no                           10i 0 value
+     d  no                                 value like(xmlCint)
 
      d xmlTextReaderGetAttribute...
      d                 pr              *   extproc('xmlTextReaderGetAttribute') xmlChar *
@@ -318,40 +336,47 @@
      d  prefix                         *   value options(*string)               const xmlChar *
 
      d xmlTextReaderMoveToAttributeNo...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderMoveToAttributeNo')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
-     d  no                           10i 0 value
+     d  no                                 value like(xmlCint)
 
      d xmlTextReaderMoveToAttribute...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderMoveToAttribute')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
      d  name                           *   value options(*string)               const xmlChar *
 
      d xmlTextReaderMoveToAttributeNs...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderMoveToAttributeNs')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
      d  localName                      *   value options(*string)               const xmlChar *
      d  namespaceURI                   *   value options(*string)               const xmlChar *
 
      d xmlTextReaderMoveToFirstAttribute...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderMoveToFirstAttribute')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderMoveToNextAttribute...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderMoveToNextAttribute')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderMoveToElement...
-     d                 pr            10i 0 extproc('xmlTextReaderMoveToElement')
+     d                 pr                  extproc('xmlTextReaderMoveToElement')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderNormalization...
-     d                 pr            10i 0 extproc('xmlTextReaderNormalization')
+     d                 pr                  extproc('xmlTextReaderNormalization')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderConstEncoding...
@@ -361,15 +386,17 @@
       * Extensions
 
      d xmlTextReaderSetParserProp...
-     d                 pr            10i 0 extproc('xmlTextReaderSetParserProp')
+     d                 pr                  extproc('xmlTextReaderSetParserProp')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
-     d  prop                         10i 0 value
-     d  value                        10i 0 value
+     d  prop                               value like(xmlCint)
+     d  value                              value like(xmlCint)
 
      d xmlTextReaderGetParserProp...
-     d                 pr            10i 0 extproc('xmlTextReaderGetParserProp')
+     d                 pr                  extproc('xmlTextReaderGetParserProp')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
-     d  prop                         10i 0 value
+     d  prop                               value like(xmlCint)
 
      d xmlTextReaderCurrentNode...
      d                 pr                  extproc('xmlTextReaderCurrentNode')
@@ -377,13 +404,15 @@
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderGetParserLineNumber...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderGetParserLineNumber')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderGetParserColumnNumber...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderGetParserColumnNumber')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderPreserve...
@@ -393,8 +422,9 @@
 
       /if defined(LIBXML_PATTERN_ENABLED)
      d xmlTextReaderPreservePattern...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderPreservePattern')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
      d  pattern                        *   value options(*string)               const xmlChar *
      d  namespaces                     *                                        const xmlChar *(*)
@@ -411,52 +441,61 @@
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderNext...
-     d                 pr            10i 0 extproc('xmlTextReaderNext')
+     d                 pr                  extproc('xmlTextReaderNext')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderNextSibling...
-     d                 pr            10i 0 extproc('xmlTextReaderNextSibling')
+     d                 pr                  extproc('xmlTextReaderNextSibling')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderIsValid...
-     d                 pr            10i 0 extproc('xmlTextReaderIsValid')
+     d                 pr                  extproc('xmlTextReaderIsValid')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
       /if defined(LIBXML_SCHEMAS_ENABLED)
      d xmlTextReaderRelaxNGValidate...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderRelaxNGValidate')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
      d  rng                            *   value options(*string)               const char *
 
      d xmlTextReaderRelaxNGValidateCtxt...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderRelaxNGValidateCtxt')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
      d  ctxt                               value like(xmlRelaxNGValidCtxtPtr)
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlTextReaderRelaxNGSetSchema...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderRelaxNGSetSchema')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
      d  schema                             value like(xmlRelaxNGPtr)
 
      d xmlTextReaderSchemaValidate...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderSchemaValidate')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
      d  xsd                            *   value options(*string)               const char *
 
      d xmlTextReaderSchemaValidateCtxt...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderSchemaValidateCtxt')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
      d  ctxt                               value like(xmlSchemaValidCtxtPtr)
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlTextReaderSetSchema...
-     d                 pr            10i 0 extproc('xmlTextReaderSetSchema')
+     d                 pr                  extproc('xmlTextReaderSetSchema')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
      d  schema                             value like(xmlSchemaPtr)
       /endif
@@ -467,7 +506,8 @@
      d  reader                             value like(xmlTextReaderPtr)
 
      d xmlTextReaderStandalone...
-     d                 pr            10i 0 extproc('xmlTextReaderStandalone')
+     d                 pr                  extproc('xmlTextReaderStandalone')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
 
       * Index lookup
@@ -490,30 +530,30 @@
      d  cur                            *   value options(*string)               const xmlChar *
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlReaderForFile...
      d                 pr                  extproc('xmlReaderForFile')
      d                                     like(xmlTextReaderPtr)
      d  filename                       *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlReaderForMemory...
      d                 pr                  extproc('xmlReaderForMemory')
      d                                     like(xmlTextReaderPtr)
      d  buffer                         *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlReaderForFd  pr                  extproc('xmlReaderForFd')
      d                                     like(xmlTextReaderPtr)
-     d  fd                           10i 0 value
+     d  fd                                 value like(xmlCint)
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlReaderForIO  pr                  extproc('xmlReaderForIO')
      d                                     like(xmlTextReaderPtr)
@@ -522,52 +562,58 @@
      d  ioctx                          *   value                                void *
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlReaderNewWalker...
-     d                 pr            10i 0 extproc('xmlReaderNewWalker')
+     d                 pr                  extproc('xmlReaderNewWalker')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
      d  doc                                value like(xmlDocPtr)
 
      d xmlReaderNewDoc...
-     d                 pr            10i 0 extproc('xmlReaderNewDoc')
+     d                 pr                  extproc('xmlReaderNewDoc')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
      d  cur                            *   value options(*string)               const xmlChar *
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlReaderNewFile...
-     d                 pr            10i 0 extproc('xmlReaderNewFile')
+     d                 pr                  extproc('xmlReaderNewFile')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
      d  filename                       *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlReaderNewMemory...
-     d                 pr            10i 0 extproc('xmlReaderNewMemory')
+     d                 pr                  extproc('xmlReaderNewMemory')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
      d  buffer                         *   value options(*string)               const char *
-     d  size                         10i 0 value
+     d  size                               value like(xmlCint)
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
-     d xmlReaderNewFd  pr            10i 0 extproc('xmlReaderNewFd')
+     d xmlReaderNewFd  pr                  extproc('xmlReaderNewFd')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
-     d  fd                           10i 0 value
+     d  fd                                 value like(xmlCint)
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
-     d xmlReaderNewIO  pr            10i 0 extproc('xmlReaderNewIO')
+     d xmlReaderNewIO  pr                  extproc('xmlReaderNewIO')
+     d                                     like(xmlCint)
      d  reader                             value like(xmlTextReaderPtr)
      d  ioread                             value like(xmlInputReadCallback)
      d  ioclose                            value like(xmlInputCloseCallback)
      d  ioctx                          *   value                                void *
      d  URL                            *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
       * Error handling extensions
 
@@ -587,8 +633,9 @@
      d                                     procptr
 
      d xmlTextReaderLocatorLineNumber...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlTextReaderLocatorLineNumber')
+     d                                     like(xmlCint)
      d  locator                            value like(xmlTextReaderLocatorPtr)
 
      d xmlTextReaderLocatorBaseURI...
diff --git a/os400/libxmlrpg/xmlregexp.rpgle b/os400/libxmlrpg/xmlregexp.rpgle
index 65c2d07..01d411a 100644
--- a/os400/libxmlrpg/xmlregexp.rpgle
+++ b/os400/libxmlrpg/xmlregexp.rpgle
@@ -13,6 +13,8 @@
 
       /if defined(LIBXML_REGEXP_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
+
       * xmlRegexpPtr:
       *
       * A libxml regular expression, they can actually be far more complex
@@ -41,7 +43,8 @@
      d                 pr                  extproc('xmlRegFreeRegexp')
      d  regexp                             value like(xmlRegexpPtr)
 
-     d xmlRegexpExec   pr            10i 0 extproc('xmlRegexpExec')
+     d xmlRegexpExec   pr                  extproc('xmlRegexpExec')
+     d                                     like(xmlCint)
      d  comp                               value like(xmlRegexpPtr)
      d  value                          *   value options(*string)               const xmlChar *
 
@@ -50,7 +53,8 @@
      d  regexp                             value like(xmlRegexpPtr)
 
      d xmlRegexpIsDeterminist...
-     d                 pr            10i 0 extproc('xmlRegexpIsDeterminist')
+     d                 pr                  extproc('xmlRegexpIsDeterminist')
+     d                                     like(xmlCint)
      d  comp                               value like(xmlRegexpPtr)
 
       * xmlRegExecCallbacks:
@@ -79,34 +83,38 @@
      d  exec                               value like(xmlRegExecCtxtPtr)
 
      d xmlRegExecPushString...
-     d                 pr            10i 0 extproc('xmlRegExecPushString')
+     d                 pr                  extproc('xmlRegExecPushString')
+     d                                     like(xmlCint)
      d  exec                               value like(xmlRegExecCtxtPtr)
      d  value                          *   value options(*string)               const xmlChar *
      d  data                           *   value                                void *
 
      d xmlRegExecPushString2...
-     d                 pr            10i 0 extproc('xmlRegExecPushString2')
+     d                 pr                  extproc('xmlRegExecPushString2')
+     d                                     like(xmlCint)
      d  exec                               value like(xmlRegExecCtxtPtr)
      d  value                          *   value options(*string)               const xmlChar *
      d  value2                         *   value options(*string)               const xmlChar *
      d  data                           *   value                                void *
 
      d xmlRegExecNextValues...
-     d                 pr            10i 0 extproc('xmlRegExecNextValues')
+     d                 pr                  extproc('xmlRegExecNextValues')
+     d                                     like(xmlCint)
      d  exec                               value like(xmlRegExecCtxtPtr)
-     d  nbval                        10i 0
-     d  nbneg                        10i 0
+     d  nbval                              like(xmlCint)
+     d  nbneg                              like(xmlCint)
      d  values                         *                                        xmlChar * (*)
-     d  terminal                     10i 0
+     d  terminal                           like(xmlCint)
 
      d xmlRegExecErrInfo...
-     d                 pr            10i 0 extproc('xmlRegExecErrInfo')
+     d                 pr                  extproc('xmlRegExecErrInfo')
+     d                                     like(xmlCint)
      d  exec                               value like(xmlRegExecCtxtPtr)
      d  string                         *                                        const xmlChar * (*)
-     d  nbval                        10i 0
-     d  nbneg                        10i 0
+     d  nbval                              like(xmlCint)
+     d  nbneg                              like(xmlCint)
      d  values                         *                                        xmlChar * (*)
-     d  terminal                     10i 0
+     d  terminal                           like(xmlCint)
 
       /if defined(LIBXML_EXPR_ENABLED)
 
@@ -122,22 +130,25 @@
 
      d xmlExpNewCtxt   pr                  extproc('xmlExpNewCtxt')
      d                                     like(xmlExpCtxtPtr)
-     d  maxNodes                     10i 0 value
+     d  maxNodes                           value like(xmlCint)
      d  dict                               value like(xmlDictPtr)
 
      d xmlExpCtxtNbNodes...
-     d                 pr            10i 0 extproc('xmlExpCtxtNbNodes')
+     d                 pr                  extproc('xmlExpCtxtNbNodes')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlExpCtxtPtr)
 
      d xmlExpCtxtNbCons...
-     d                 pr            10i 0 extproc('xmlExpCtxtNbCons')
+     d                 pr                  extproc('xmlExpCtxtNbCons')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlExpCtxtPtr)
 
       * Expressions are trees but the tree is opaque
 
      d xmlExpNodePtr   s               *   based(######typedef######)
 
-     d xmlExpNodeType  s             10i 0 based(######typedef######)           enum
+     d xmlExpNodeType  s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_EXP_EMPTY  c                   0
      d  XML_EXP_FORBID...
      d                 c                   1
@@ -175,7 +186,7 @@
      d                                     like(xmlExpNodePtr)
      d  ctxt                               value like(xmlExpCtxtPtr)
      d  name                           *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlExpNewOr     pr                  extproc('xmlExpNewOr')
      d                                     like(xmlExpNodePtr)
@@ -193,30 +204,34 @@
      d                                     like(xmlExpNodePtr)
      d  ctxt                               value like(xmlExpCtxtPtr)
      d  subset                             value like(xmlExpNodePtr)
-     d  min                          10i 0 value
-     d  max                          10i 0 value
+     d  min                                value like(xmlCint)
+     d  max                                value like(xmlCint)
 
       * The really interesting APIs
 
      d xmlExpIsNillable...
-     d                 pr            10i 0 extproc('xmlExpIsNillable')
+     d                 pr                  extproc('xmlExpIsNillable')
+     d                                     like(xmlCint)
      d  expr                               value like(xmlExpNodePtr)
 
-     d xmlExpMaxToken  pr            10i 0 extproc('xmlExpMaxToken')
+     d xmlExpMaxToken  pr                  extproc('xmlExpMaxToken')
+     d                                     like(xmlCint)
      d  expr                               value like(xmlExpNodePtr)
 
      d xmlExpGetLanguage...
-     d                 pr            10i 0 extproc('xmlExpGetLanguage')
+     d                 pr                  extproc('xmlExpGetLanguage')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlExpCtxtPtr)
      d  expr                               value like(xmlExpNodePtr)
      d  langList                       *                                        const xmlChar *(*)
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
-     d xmlExpGetStart  pr            10i 0 extproc('xmlExpGetStart')
+     d xmlExpGetStart  pr                  extproc('xmlExpGetStart')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlExpCtxtPtr)
      d  expr                               value like(xmlExpNodePtr)
      d  tokList                        *                                        const xmlChar *(*)
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlExpStringDerive...
      d                 pr                  extproc('xmlExpStringDerive')
@@ -224,7 +239,7 @@
      d  ctxt                               value like(xmlExpCtxtPtr)
      d  expr                               value like(xmlExpNodePtr)
      d  str                            *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlExpExpDerive...
      d                 pr                  extproc('xmlExpExpDerive')
@@ -233,7 +248,8 @@
      d  expr                               value like(xmlExpNodePtr)
      d  sub                                value like(xmlExpNodePtr)
 
-     d xmlExpSubsume   pr            10i 0 extproc('xmlExpSubsume')
+     d xmlExpSubsume   pr                  extproc('xmlExpSubsume')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlExpCtxtPtr)
      d  expr                               value like(xmlExpNodePtr)
      d  sub                                value like(xmlExpNodePtr)
diff --git a/os400/libxmlrpg/xmlsave.rpgle b/os400/libxmlrpg/xmlsave.rpgle
index 764dceb..ad0d15d 100644
--- a/os400/libxmlrpg/xmlsave.rpgle
+++ b/os400/libxmlrpg/xmlsave.rpgle
@@ -9,19 +9,21 @@
       /define XML_XMLSAVE_H__
 
       /include "libxmlrpg/xmlversion"
+
+      /if defined(LIBXML_OUTPUT_ENABLED)
+
       /include "libxmlrpg/xmlTypesC"
       /include "libxmlrpg/tree"
       /include "libxmlrpg/encoding"
       /include "libxmlrpg/xmlIO"
 
-      /if defined(LIBXML_OUTPUT_ENABLED)
-
       * xmlSaveOption:
       *
       * This is the set of XML save options that can be passed down
       * to the xmlSaveToFd() and similar calls.
 
-     d xmlSaveOption   s             10i 0 based(######typedef######)           enum
+     d xmlSaveOption   s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_SAVE_FORMAT...                                                      Format save output
      d                 c                   X'0001'
      d  XML_SAVE_NO_DECL...                                                     Drop xml declaration
@@ -43,23 +45,23 @@
 
      d xmlSaveToFd     pr                  extproc('xmlSaveToFd')
      d                                     like(xmlSaveCtxtPtr)
-     d  fd                           10i 0 value
+     d  fd                                 value like(xmlCint)
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlSaveToFilename...
      d                 pr                  extproc('xmlSaveToFilename')
      d                                     like(xmlSaveCtxtPtr)
      d  filename                       *   value options(*string)               const char *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlSaveToBuffer...
      d                 pr                  extproc('xmlSaveToBuffer')
      d                                     like(xmlSaveCtxtPtr)
      d  buffer                             value like(xmlBufferPtr)
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlSaveToIO     pr                  extproc('xmlSaveToIO')
      d                                     like(xmlSaveCtxtPtr)
@@ -67,7 +69,7 @@
      d  ioclose                            value like(xmlOutputCloseCallback)
      d  ioctx                          *   value                                void *
      d  encoding                       *   value options(*string)               const char *
-     d  options                      10i 0 value
+     d  options                            value like(xmlCint)
 
      d xmlSaveDoc      pr                  extproc('xmlSaveDoc')
      d                                     like(xmlClong)
@@ -79,19 +81,23 @@
      d  ctxt                               value like(xmlSaveCtxtPtr)
      d  node                               value like(xmlNodePtr)
 
-     d xmlSaveFlush    pr            10i 0 extproc('xmlSaveFlush')
+     d xmlSaveFlush    pr                  extproc('xmlSaveFlush')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlSaveCtxtPtr)
 
-     d xmlSaveClose    pr            10i 0 extproc('xmlSaveClose')
+     d xmlSaveClose    pr                  extproc('xmlSaveClose')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlSaveCtxtPtr)
 
      d xmlSaveSetEscape...
-     d                 pr            10i 0 extproc('xmlSaveSetEscape')
+     d                 pr                  extproc('xmlSaveSetEscape')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlSaveCtxtPtr)
      d  escape                             value like(xmlCharEncodingOutputFunc)
 
      d xmlSaveSetAttrEscape...
-     d                 pr            10i 0 extproc('xmlSaveSetAttrEscape')
+     d                 pr                  extproc('xmlSaveSetAttrEscape')
+     d                                     like(xmlCint)
      d  ctxt                               value like(xmlSaveCtxtPtr)
      d  escape                             value like(xmlCharEncodingOutputFunc)
 
diff --git a/os400/libxmlrpg/xmlschemas.rpgle b/os400/libxmlrpg/xmlschemas.rpgle
index 865dd26..f34ddcd 100644
--- a/os400/libxmlrpg/xmlschemas.rpgle
+++ b/os400/libxmlrpg/xmlschemas.rpgle
@@ -13,12 +13,14 @@
 
       /if defined(LIBXML_SCHEMAS_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
       /include "libxmlrpg/tree"
 
       * This error codes are obsolete; not used any more.
 
      d xmlSchemaValidError...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_SCHEMAS_ERR_OK...
      d                 c                   0
      d  XML_SCHEMAS_ERR_NOROOT...
@@ -81,7 +83,8 @@
       * This is the set of XML Schema validation options.
 
      d xmlSchemaValidOption...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
       *
       * Default/fixed: create an attribute node
       * or an element's text node on the instance.
@@ -158,7 +161,7 @@
      d                 pr                  extproc('xmlSchemaNewMemParserCtxt')
      d                                     like(xmlSchemaParserCtxtPtr)
      d buffer                          *   value options(*string)               const char *
-     d size                          10i 0 value
+     d size                                value like(xmlCint)
 
      d xmlSchemaNewDocParserCtxt...
      d                 pr                  extproc('xmlSchemaNewDocParserCtxt')
@@ -186,14 +189,16 @@
      d ctx                             *   value                                void *
 
      d xmlSchemaGetParserErrors...
-     d                 pr            10i 0 extproc('xmlSchemaGetParserErrors')
+     d                 pr                  extproc('xmlSchemaGetParserErrors')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlSchemaParserCtxtPtr)
      d err                                 like(xmlSchemaValidityErrorFunc)
      d warn                                like(xmlSchemaValidityWarningFunc)
      d ctx                             *                                        void *(*)
 
      d xmlSchemaIsValid...
-     d                 pr            10i 0 extproc('xmlSchemaIsValid')
+     d                 pr                  extproc('xmlSchemaIsValid')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlSchemaValidCtxtPtr)
 
      d xmlSchemaParse  pr                  extproc('xmlSchemaParse')
@@ -228,16 +233,18 @@
      d ctx                             *   value                                void *
 
      d xmlSchemaGetValidErrors...
-     d                 pr            10i 0 extproc('xmlSchemaGetValidErrors')
+     d                 pr                  extproc('xmlSchemaGetValidErrors')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlSchemaValidCtxtPtr)
      d err                                 like(xmlSchemaValidityErrorFunc)
      d warn                                like(xmlSchemaValidityWarningFunc)
      d ctx                             *                                        void *(*)
 
      d xmlSchemaSetValidOptions...
-     d                 pr            10i 0 extproc('xmlSchemaSetValidOptions')
+     d                 pr                  extproc('xmlSchemaSetValidOptions')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlSchemaValidCtxtPtr)
-     d options                       10i 0 value
+     d options                             value like(xmlCint)
 
      d xmlSchemaValidateSetFilename...
      d                 pr                  extproc(
@@ -246,8 +253,9 @@
      d filename                        *   value options(*string)               const char *
 
      d xmlSchemaValidCtxtGetOptions...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlSchemaValidCtxtGetOptions')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlSchemaValidCtxtPtr)
 
      d xmlSchemaNewValidCtxt...
@@ -260,18 +268,21 @@
      d ctxt                                value like(xmlSchemaValidCtxtPtr)
 
      d xmlSchemaValidateDoc...
-     d                 pr            10i 0 extproc('xmlSchemaValidateDoc')
+     d                 pr                  extproc('xmlSchemaValidateDoc')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlSchemaValidCtxtPtr)
      d instance                            value like(xmlDocPtr)
 
      d xmlSchemaValidateOneElement...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlSchemaValidateOneElement')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlSchemaValidCtxtPtr)
      d elem                                value like(xmlNodePtr)
 
      d xmlSchemaValidateStream...
-     d                 pr            10i 0 extproc('xmlSchemaValidateStream')
+     d                 pr                  extproc('xmlSchemaValidateStream')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlSchemaValidCtxtPtr)
      d input                               value like(xmlParserInputBufferPtr)
      d enc                                 value like(xmlCharEncoding)
@@ -279,10 +290,11 @@
      d user_data                       *   value                                void *
 
      d xmlSchemaValidateFile...
-     d                 pr            10i 0 extproc('xmlSchemaValidateFile')
+     d                 pr                  extproc('xmlSchemaValidateFile')
+     d                                     like(xmlCint)
      d ctxt                                value like(xmlSchemaValidCtxtPtr)
      d filename                        *   value options(*string)               const char *
-     d options                       10i 0 value
+     d options                             value like(xmlCint)
 
      d xmlSchemaValidCtxtGetParserCtxt...
      d                 pr                  extproc(
@@ -303,7 +315,8 @@
      d user_data                       *                                        void *(*)
 
      d xmlSchemaSAXUnplug...
-     d                 pr            10i 0 extproc('xmlSchemaSAXUnplug')
+     d                 pr                  extproc('xmlSchemaSAXUnplug')
+     d                                     like(xmlCint)
      d plug                                value like(xmlSchemaSAXPlugPtr)
 
      d xmlSchemaValidateSetLocator...
diff --git a/os400/libxmlrpg/xmlschemastypes.rpgle b/os400/libxmlrpg/xmlschemastypes.rpgle
index 0bf0f70..ecd6aba 100644
--- a/os400/libxmlrpg/xmlschemastypes.rpgle
+++ b/os400/libxmlrpg/xmlschemastypes.rpgle
@@ -10,15 +10,16 @@
       /define XML_SCHEMA_TYPES_H__
 
       /include "libxmlrpg/xmlversion"
-      /include "libxmlrpg/xmlTypesC"
 
       /if defined(LIBXML_SCHEMAS_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
       /include "libxmlrpg/schemasInternals"
       /include "libxmlrpg/xmlschemas"
 
      d xmlSchemaWhitespaceValueType...
-     d                 s             10i 0 based(######typedef######)           enum
+     d                 s                   based(######typedef######)
+     d                                     like(xmlCenum)
      d  XML_SCHEMA_WHITESPACE_UNKNOWN...
      d                 c                   0
      d  XML_SCHEMA_WHITESPACE_PRESERVE...
@@ -41,29 +42,33 @@
      d  ns                             *   value options(*string)               const xmlChar *
 
      d xmlSchemaValidatePredefinedType...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlSchemaValidatePredefinedType')
+     d                                     like(xmlCint)
      d  type                               value like(xmlSchemaTypePtr)
      d  value                          *   value options(*string)               const xmlChar *
      d  val                            *   value                                xmlSchemaValPtr *
 
      d xmlSchemaValPredefTypeNode...
-     d                 pr            10i 0 extproc('xmlSchemaValPredefTypeNode')
+     d                 pr                  extproc('xmlSchemaValPredefTypeNode')
+     d                                     like(xmlCint)
      d  type                               value like(xmlSchemaTypePtr)
      d  value                          *   value options(*string)               const xmlChar *
      d  val                            *   value                                xmlSchemaValPtr *
      d  node                               value like(xmlNodePtr)
 
      d xmlSchemaValidateFacet...
-     d                 pr            10i 0 extproc('xmlSchemaValidateFacet')
+     d                 pr                  extproc('xmlSchemaValidateFacet')
+     d                                     like(xmlCint)
      d  base                               value like(xmlSchemaTypePtr)
      d  facet                              value like(xmlSchemaFacetPtr)
      d  value                          *   value options(*string)               const xmlChar *
      d  val                                value like(xmlSchemaValPtr)
 
      d xmlSchemaValidateFacetWhtsp...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlSchemaValidateFacetWhtsp')
+     d                                     like(xmlCint)
      d  facet                              value like(xmlSchemaFacetPtr)
      d  fws                                value
      d                                     like(xmlSchemaWhitespaceValueType)
@@ -82,7 +87,8 @@
      d                                     like(xmlSchemaFacetPtr)
 
      d xmlSchemaCheckFacet...
-     d                 pr            10i 0 extproc('xmlSchemaCheckFacet')
+     d                 pr                  extproc('xmlSchemaCheckFacet')
+     d                                     like(xmlCint)
      d  facet                              value like(xmlSchemaFacetPtr)
      d  typeDecl                           value like(xmlSchemaTypePtr)
      d  ctxt                               value like(xmlSchemaParserCtxtPtr)
@@ -93,7 +99,8 @@
      d  facet                              value like(xmlSchemaFacetPtr)
 
      d xmlSchemaCompareValues...
-     d                 pr            10i 0 extproc('xmlSchemaCompareValues')
+     d                 pr                  extproc('xmlSchemaCompareValues')
+     d                                     like(xmlCint)
      d  x                                  value like(xmlSchemaValPtr)
      d  y                                  value like(xmlSchemaValPtr)
 
@@ -104,8 +111,9 @@
      d  type                               value like(xmlSchemaTypePtr)
 
      d xmlSchemaValidateListSimpleTypeFacet...
-     d                 pr            10i 0 extproc('xmlSchemaValidateListSimple-
+     d                 pr                  extproc('xmlSchemaValidateListSimple-
      d                                     TypeFacet')
+     d                                     like(xmlCint)
      d  facet                              value like(xmlSchemaFacetPtr)
      d  value                          *   value options(*string)               const xmlChar *
      d  actualLen                          value like(xmlCulong)
@@ -117,10 +125,11 @@
      d  type                               value like(xmlSchemaValType)
 
      d xmlSchemaIsBuiltInTypeFacet...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlSchemaIsBuiltInTypeFacet')
+     d                                     like(xmlCint)
      d  type                               value like(xmlSchemaTypePtr)
-     d  facetType                    10i 0 value
+     d  facetType                          value like(xmlCint)
 
      d xmlSchemaCollapseString...
      d                 pr              *   extproc('xmlSchemaCollapseString')   xmlChar *
@@ -137,8 +146,9 @@
      d  facet                              value like(xmlSchemaFacetPtr)
 
      d xmlSchemaValidateLengthFacet...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlSchemaValidateLengthFacet')
+     d                                     like(xmlCint)
      d  type                               value like(xmlSchemaTypePtr)
      d  facet                              value like(xmlSchemaFacetPtr)
      d  value                          *   value options(*string)               const xmlChar *
@@ -146,8 +156,9 @@
      d  length                             like(xmlCulong)
 
      d xmlSchemaValidateLengthFacetWhtsp...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlSchemaValidateLengthFacetWhtsp')
+     d                                     like(xmlCint)
      d  facet                              value like(xmlSchemaFacetPtr)
      d  valType                            value like(xmlSchemaValType)
      d  value                          *   value options(*string)               const xmlChar *
@@ -157,28 +168,32 @@
      d                                     like(xmlSchemaWhitespaceValueType)
 
      d xmlSchemaValPredefTypeNodeNoNorm...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlSchemaValPredefTypeNodeNoNorm')
+     d                                     like(xmlCint)
      d  type                               value like(xmlSchemaTypePtr)
      d  value                          *   value options(*string)               const xmlChar *
      d  val                                like(xmlSchemaValPtr)
      d  node                               value like(xmlNodePtr)
 
      d xmlSchemaGetCanonValue...
-     d                 pr            10i 0 extproc('xmlSchemaGetCanonValue')
+     d                 pr                  extproc('xmlSchemaGetCanonValue')
+     d                                     like(xmlCint)
      d  val                                value like(xmlSchemaValPtr)
      d  retValue                       *   value                                const xmlChar * *
 
      d xmlSchemaGetCanonValueWhtsp...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlSchemaGetCanonValueWhtsp')
+     d                                     like(xmlCint)
      d  val                                value like(xmlSchemaValPtr)
      d  retValue                       *   value                                const xmlChar * *
      d  ws                                 value
      d                                     like(xmlSchemaWhitespaceValueType)
 
      d xmlSchemaValueAppend...
-     d                 pr            10i 0 extproc('xmlSchemaValueAppend')
+     d                 pr                  extproc('xmlSchemaValueAppend')
+     d                                     like(xmlCint)
      d  prev                               value like(xmlSchemaValPtr)
      d  cur                                value like(xmlSchemaValPtr)
 
@@ -192,7 +207,8 @@
      d  val                                value like(xmlSchemaValPtr)
 
      d xmlSchemaValueGetAsBoolean...
-     d                 pr            10i 0 extproc('xmlSchemaValueGetAsBoolean')
+     d                 pr                  extproc('xmlSchemaValueGetAsBoolean')
+     d                                     like(xmlCint)
      d  val                                value like(xmlSchemaValPtr)
 
      d xmlSchemaNewStringValue...
@@ -214,8 +230,9 @@
      d  localName                      *   value options(*string)               const xmlChar *
 
      d xmlSchemaCompareValuesWhtsp...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlSchemaCompareValuesWhtsp')
+     d                                     like(xmlCint)
      d  x                                  value like(xmlSchemaValPtr)
      d  xws                                value
      d                                     like(xmlSchemaWhitespaceValueType)
diff --git a/os400/libxmlrpg/xmlstdarg.rpgle b/os400/libxmlrpg/xmlstdarg.rpgle
index 9e45a4c..3c8e200 100644
--- a/os400/libxmlrpg/xmlstdarg.rpgle
+++ b/os400/libxmlrpg/xmlstdarg.rpgle
@@ -8,6 +8,7 @@
       /define XML_STDARG_H__
 
       /include "libxmlrpg/xmlversion"
+      /include "libxmlrpg/xmlTypesC"
 
       * The va_list object.
 
@@ -21,12 +22,12 @@
      d xmlVaStart      pr                  extproc('__xmlVaStart')
      d  list                               likeds(xmlVaList)
      d  lastargaddr                    *   value
-     d  lastargsize                  10u 0 value
+     d  lastargsize                        value like(xmlCsize_t)
 
      d xmlVaArg        pr              *   extproc('__xmlVaArg')
      d  list                               likeds(xmlVaList)
      d  dest                           *   value
-     d  argsize                      10i 0 value
+     d  argsize                            value like(xmlCsize_t)
 
      d xmlVaEnd        pr                  extproc('__xmlVaEnd')
      d  list                               likeds(xmlVaList)
diff --git a/os400/libxmlrpg/xmlstring.rpgle b/os400/libxmlrpg/xmlstring.rpgle
index 5b863e4..8980fc0 100644
--- a/os400/libxmlrpg/xmlstring.rpgle
+++ b/os400/libxmlrpg/xmlstring.rpgle
@@ -29,19 +29,19 @@
 
      d xmlStrndup      pr              *   extproc('xmlStrndup')                xmlChar *
      d  cur                            *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlCharStrndup  pr              *   extproc('xmlCharStrndup')            xmlChar *
      d  cur                            *   value options(*string)               const char *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlCharStrdup   pr              *   extproc('xmlCharStrdup')             xmlChar *
      d  cur                            *   value options(*string)               const char *
 
      d xmlStrsub       pr              *   extproc('xmlStrsub')                 const xmlChar *
      d  str                            *   value options(*string)               const xmlChar *
-     d  start                        10i 0 value
-     d  len                          10i 0 value
+     d  start                              value like(xmlCint)
+     d  len                                value like(xmlCint)
 
      d xmlStrchr       pr              *   extproc('xmlStrchr')                 const xmlChar *
      d  str                            *   value options(*string)               const xmlChar *
@@ -55,34 +55,41 @@
      d  str                            *   value options(*string)               const xmlChar *
      d  val                            *   value options(*string)               const xmlChar *
 
-     d xmlStrcmp       pr            10i 0 extproc('xmlStrcmp')
+     d xmlStrcmp       pr                  extproc('xmlStrcmp')
+     d                                     like(xmlCint)
      d  str1                           *   value options(*string)               const xmlChar *
      d  str2                           *   value options(*string)               const xmlChar *
 
-     d xmlStrncmp      pr            10i 0 extproc('xmlStrncmp')
+     d xmlStrncmp      pr                  extproc('xmlStrncmp')
+     d                                     like(xmlCint)
      d  str1                           *   value options(*string)               const xmlChar *
      d  str2                           *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
-     d xmlStrcasecmp   pr            10i 0 extproc('xmlStrcasecmp')
+     d xmlStrcasecmp   pr                  extproc('xmlStrcasecmp')
+     d                                     like(xmlCint)
      d  str1                           *   value options(*string)               const xmlChar *
      d  str2                           *   value options(*string)               const xmlChar *
 
-     d xmlStrncasecmp  pr            10i 0 extproc('xmlStrncasecmp')
+     d xmlStrncasecmp  pr                  extproc('xmlStrncasecmp')
+     d                                     like(xmlCint)
      d  str1                           *   value options(*string)               const xmlChar *
      d  str2                           *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
-     d xmlStrEqual     pr            10i 0 extproc('xmlStrEqual')
+     d xmlStrEqual     pr                  extproc('xmlStrEqual')
+     d                                     like(xmlCint)
      d  str1                           *   value options(*string)               const xmlChar *
      d  str2                           *   value options(*string)               const xmlChar *
 
-     d xmlStrQEqual    pr            10i 0 extproc('xmlStrQEqual')
+     d xmlStrQEqual    pr                  extproc('xmlStrQEqual')
+     d                                     like(xmlCint)
      d  pref                           *   value options(*string)               const xmlChar *
      d  name                           *   value options(*string)               const xmlChar *
      d  stre                           *   value options(*string)               const xmlChar *
 
-     d xmlStrlen       pr            10i 0 extproc('xmlStrlen')
+     d xmlStrlen       pr                  extproc('xmlStrlen')
+     d                                     like(xmlCint)
      d  str                            *   value options(*string)               const xmlChar *
 
      d xmlStrcat       pr              *   extproc('xmlStrcat')                 xmlChar *
@@ -92,21 +99,22 @@
      d xmlStrncat      pr              *   extproc('xmlStrncat')                xmlChar *
      d  cur                            *   value options(*string)               xmlChar *
      d  add                            *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlStrncatNew   pr              *   extproc('xmlStrncatNew')             xmlChar *
      d  str1                           *   value options(*string)               const xmlChar *
      d  str2                           *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
       * xmlStrPrintf() is a vararg function.
       * The following prototype supports up to 8 pointer arguments.
       * Other argument signature can be achieved by defining alternate
       *   prototypes redirected to the same function.
 
-     d xmlStrPrintf    pr            10i 0 extproc('xmlStrPrintf')
+     d xmlStrPrintf    pr                  extproc('xmlStrPrintf')
+     d                                     like(xmlCint)
      d  buf                            *   value options(*string)               xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
      d  msg                            *   value options(*string)               const xmlChar *
      d  arg1                           *   value options(*string: *nopass)
      d  arg2                           *   value options(*string: *nopass)
@@ -117,47 +125,55 @@
      d  arg7                           *   value options(*string: *nopass)
      d  arg8                           *   value options(*string: *nopass)
 
-     d xmlStrVPrintf   pr            10i 0 extproc('xmlStrVPrintf')
+     d xmlStrVPrintf   pr                  extproc('xmlStrVPrintf')
+     d                                     like(xmlCint)
      d  buf                            *   value options(*string)               xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
      d  msg                            *   value options(*string)               const xmlChar *
      d  ap                                 likeds(xmlVaList)
 
-     d xmlGetUTF8Char  pr            10i 0 extproc('xmlGetUTF8Char')
+     d xmlGetUTF8Char  pr                  extproc('xmlGetUTF8Char')
+     d                                     like(xmlCint)
      d  utf                            *   value options(*string)               const uns. char *
-     d  len                          10i 0
+     d  len                                like(xmlCint)
 
-     d xmlCheckUTF8    pr            10i 0 extproc('xmlCheckUTF8')
+     d xmlCheckUTF8    pr                  extproc('xmlCheckUTF8')
+     d                                     like(xmlCint)
      d  utf                            *   value options(*string)               const uns. char *
 
-     d xmlUTF8Strsize  pr            10i 0 extproc('xmlUTF8Strsize')
+     d xmlUTF8Strsize  pr                  extproc('xmlUTF8Strsize')
+     d                                     like(xmlCint)
      d  utf                            *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlUTF8Strndup  pr              *   extproc('xmlUTF8Strndup')            xmlChar *
      d  utf                            *   value options(*string)               const xmlChar *
-     d  len                          10i 0 value
+     d  len                                value like(xmlCint)
 
      d xmlUTF8Strpos   pr              *   extproc('xmlUTF8Strpos')             const xmlChar *
      d  utf                            *   value options(*string)               const xmlChar *
-     d  pos                          10i 0 value
+     d  pos                                value like(xmlCint)
 
-     d xmlUTF8Strloc   pr            10i 0 extproc('xmlUTF8Strloc')
+     d xmlUTF8Strloc   pr                  extproc('xmlUTF8Strloc')
+     d                                     like(xmlCint)
      d  utf                            *   value options(*string)               const xmlChar *
      d  utfchar                        *   value options(*string)               const xmlChar *
 
      d xmlUTF8Strsub   pr              *   extproc('xmlUTF8Strsub')             xmlChar *
      d  utf                            *   value options(*string)               const xmlChar *
-     d  start                        10i 0 value
-     d  len                          10i 0 value
+     d  start                              value like(xmlCint)
+     d  len                                value like(xmlCint)
 
-     d xmlUTF8Strlen   pr            10i 0 extproc('xmlUTF8Strlen')
+     d xmlUTF8Strlen   pr                  extproc('xmlUTF8Strlen')
+     d                                     like(xmlCint)
      d  utf                            *   value options(*string)               const xmlChar *
 
-     d xmlUTF8Size     pr            10i 0 extproc('xmlUTF8Size')
+     d xmlUTF8Size     pr                  extproc('xmlUTF8Size')
+     d                                     like(xmlCint)
      d  utf                            *   value options(*string)               const xmlChar *
 
-     d xmlUTF8Charcmp  pr            10i 0 extproc('xmlUTF8Charcmp')
+     d xmlUTF8Charcmp  pr                  extproc('xmlUTF8Charcmp')
+     d                                     like(xmlCint)
      d  utf1                           *   value options(*string)               const xmlChar *
      d  utf2                           *   value options(*string)               const xmlChar *
 
diff --git a/os400/libxmlrpg/xmlunicode.rpgle b/os400/libxmlrpg/xmlunicode.rpgle
index 64f7abf..c4c4ba1 100644
--- a/os400/libxmlrpg/xmlunicode.rpgle
+++ b/os400/libxmlrpg/xmlunicode.rpgle
@@ -12,656 +12,824 @@
 
       /if defined(LIBXML_UNICODE_ENABLED)
 
+      /include "libxmlrpg/xmlTypesC"
+
      d xmlUCSIsAegeanNumbers...
-     d                 pr            10i 0 extproc('xmlUCSIsAegeanNumbers')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsAegeanNumbers')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsAlphabeticPresentationForms...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsAlphabeticPresentationForms'
      d                                     )
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
-     d xmlUCSIsArabic  pr            10i 0 extproc('xmlUCSIsArabic')
-     d  code                         10i 0 value
+     d xmlUCSIsArabic  pr                  extproc('xmlUCSIsArabic')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsArabicPresentationFormsA...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsArabicPresentationFormsA')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsArabicPresentationFormsB...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsArabicPresentationFormsB')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsArmenian...
-     d                 pr            10i 0 extproc('xmlUCSIsArmenian')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsArmenian')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
-     d xmlUCSIsArrows  pr            10i 0 extproc('xmlUCSIsArrows')
-     d  code                         10i 0 value
+     d xmlUCSIsArrows  pr                  extproc('xmlUCSIsArrows')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsBasicLatin...
-     d                 pr            10i 0 extproc('xmlUCSIsBasicLatin')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsBasicLatin')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsBengali...
-     d                 pr            10i 0 extproc('xmlUCSIsBengali')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsBengali')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsBlockElements...
-     d                 pr            10i 0 extproc('xmlUCSIsBlockElements')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsBlockElements')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsBopomofo...
-     d                 pr            10i 0 extproc('xmlUCSIsBopomofo')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsBopomofo')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsBopomofoExtended...
-     d                 pr            10i 0 extproc('xmlUCSIsBopomofoExtended')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsBopomofoExtended')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsBoxDrawing...
-     d                 pr            10i 0 extproc('xmlUCSIsBoxDrawing')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsBoxDrawing')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsBraillePatterns...
-     d                 pr            10i 0 extproc('xmlUCSIsBraillePatterns')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsBraillePatterns')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
-     d xmlUCSIsBuhid   pr            10i 0 extproc('xmlUCSIsBuhid')
-     d  code                         10i 0 value
+     d xmlUCSIsBuhid   pr                  extproc('xmlUCSIsBuhid')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsByzantineMusicalSymbols...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsByzantineMusicalSymbols')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCJKCompatibility...
-     d                 pr            10i 0 extproc('xmlUCSIsCJKCompatibility')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsCJKCompatibility')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCJKCompatibilityForms...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsCJKCompatibilityForms')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCJKCompatibilityIdeographs...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsCJKCompatibilityIdeographs')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCJKCompatibilityIdeographsSupplement...
-     d                 pr            10i 0 extproc('xmlUCSIsCJKCompatibilityIde-
+     d                 pr                  extproc('xmlUCSIsCJKCompatibilityIde-
      d                                     ographsSupplement')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCJKRadicalsSupplement...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsCJKRadicalsSupplement')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCJKSymbolsandPunctuation...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsCJKSymbolsandPunctuation')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCJKUnifiedIdeographs...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsCJKUnifiedIdeographs')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCJKUnifiedIdeographsExtensionA...
-     d                 pr            10i 0 extproc('xmlUCSIsCJKUnifiedIdeograph-
+     d                 pr                  extproc('xmlUCSIsCJKUnifiedIdeograph-
      d                                     sExtensionA')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCJKUnifiedIdeographsExtensionB...
-     d                 pr            10i 0 extproc('xmlUCSIsCJKUnifiedIdeograph-
+     d                 pr                  extproc('xmlUCSIsCJKUnifiedIdeograph-
      d                                     sExtensionB')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCherokee...
-     d                 pr            10i 0 extproc('xmlUCSIsCherokee')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsCherokee')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCombiningDiacriticalMarks...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsCombiningDiacriticalMarks')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCombiningDiacriticalMarksforSymbols...
-     d                 pr            10i 0 extproc('xmlUCSIsCombiningDiacritica-
+     d                 pr                  extproc('xmlUCSIsCombiningDiacritica-
      d                                     lMarksforSymbols')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCombiningHalfMarks...
-     d                 pr            10i 0 extproc('xmlUCSIsCombiningHalfMarks')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsCombiningHalfMarks')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCombiningMarksforSymbols...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsCombiningMarksforSymbols')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsControlPictures...
-     d                 pr            10i 0 extproc('xmlUCSIsControlPictures')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsControlPictures')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCurrencySymbols...
-     d                 pr            10i 0 extproc('xmlUCSIsCurrencySymbols')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsCurrencySymbols')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCypriotSyllabary...
-     d                 pr            10i 0 extproc('xmlUCSIsCypriotSyllabary')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsCypriotSyllabary')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCyrillic...
-     d                 pr            10i 0 extproc('xmlUCSIsCyrillic')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsCyrillic')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsCyrillicSupplement...
-     d                 pr            10i 0 extproc('xmlUCSIsCyrillicSupplement')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsCyrillicSupplement')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsDeseret...
-     d                 pr            10i 0 extproc('xmlUCSIsDeseret')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsDeseret')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsDevanagari...
-     d                 pr            10i 0 extproc('xmlUCSIsDevanagari')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsDevanagari')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsDingbats...
-     d                 pr            10i 0 extproc('xmlUCSIsDingbats')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsDingbats')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsEnclosedAlphanumerics...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsEnclosedAlphanumerics')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsEnclosedCJKLettersandMonths...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsEnclosedCJKLettersandMonths'
      d                                     )
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsEthiopic...
-     d                 pr            10i 0 extproc('xmlUCSIsEthiopic')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsEthiopic')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsGeneralPunctuation...
-     d                 pr            10i 0 extproc('xmlUCSIsGeneralPunctuation')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsGeneralPunctuation')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsGeometricShapes...
-     d                 pr            10i 0 extproc('xmlUCSIsGeometricShapes')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsGeometricShapes')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsGeorgian...
-     d                 pr            10i 0 extproc('xmlUCSIsGeorgian')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsGeorgian')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
-     d xmlUCSIsGothic  pr            10i 0 extproc('xmlUCSIsGothic')
-     d  code                         10i 0 value
+     d xmlUCSIsGothic  pr                  extproc('xmlUCSIsGothic')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
-     d xmlUCSIsGreek   pr            10i 0 extproc('xmlUCSIsGreek')
-     d  code                         10i 0 value
+     d xmlUCSIsGreek   pr                  extproc('xmlUCSIsGreek')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsGreekExtended...
-     d                 pr            10i 0 extproc('xmlUCSIsGreekExtended')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsGreekExtended')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsGreekandCoptic...
-     d                 pr            10i 0 extproc('xmlUCSIsGreekandCoptic')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsGreekandCoptic')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsGujarati...
-     d                 pr            10i 0 extproc('xmlUCSIsGujarati')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsGujarati')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsGurmukhi...
-     d                 pr            10i 0 extproc('xmlUCSIsGurmukhi')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsGurmukhi')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsHalfwidthandFullwidthForms...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsHalfwidthandFullwidthForms')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsHangulCompatibilityJamo...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsHangulCompatibilityJamo')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsHangulJamo...
-     d                 pr            10i 0 extproc('xmlUCSIsHangulJamo')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsHangulJamo')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsHangulSyllables...
-     d                 pr            10i 0 extproc('xmlUCSIsHangulSyllables')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsHangulSyllables')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsHanunoo...
-     d                 pr            10i 0 extproc('xmlUCSIsHanunoo')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsHanunoo')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
-     d xmlUCSIsHebrew  pr            10i 0 extproc('xmlUCSIsHebrew')
-     d  code                         10i 0 value
+     d xmlUCSIsHebrew  pr                  extproc('xmlUCSIsHebrew')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsHighPrivateUseSurrogates...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsHighPrivateUseSurrogates')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsHighSurrogates...
-     d                 pr            10i 0 extproc('xmlUCSIsHighSurrogates')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsHighSurrogates')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsHiragana...
-     d                 pr            10i 0 extproc('xmlUCSIsHiragana')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsHiragana')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsIPAExtensions...
-     d                 pr            10i 0 extproc('xmlUCSIsIPAExtensions')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsIPAExtensions')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsIdeographicDescriptionCharacters...
-     d                 pr            10i 0 extproc('xmlUCSIsIdeographicDescript-
+     d                 pr                  extproc('xmlUCSIsIdeographicDescript-
      d                                     ionCharacters')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
-     d xmlUCSIsKanbun  pr            10i 0 extproc('xmlUCSIsKanbun')
-     d  code                         10i 0 value
+     d xmlUCSIsKanbun  pr                  extproc('xmlUCSIsKanbun')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsKangxiRadicals...
-     d                 pr            10i 0 extproc('xmlUCSIsKangxiRadicals')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsKangxiRadicals')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsKannada...
-     d                 pr            10i 0 extproc('xmlUCSIsKannada')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsKannada')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsKatakana...
-     d                 pr            10i 0 extproc('xmlUCSIsKatakana')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsKatakana')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsKatakanaPhoneticExtensions...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsKatakanaPhoneticExtensions')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
-     d xmlUCSIsKhmer   pr            10i 0 extproc('xmlUCSIsKhmer')
-     d  code                         10i 0 value
+     d xmlUCSIsKhmer   pr                  extproc('xmlUCSIsKhmer')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsKhmerSymbols...
-     d                 pr            10i 0 extproc('xmlUCSIsKhmerSymbols')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsKhmerSymbols')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
-     d xmlUCSIsLao     pr            10i 0 extproc('xmlUCSIsLao')
-     d  code                         10i 0 value
+     d xmlUCSIsLao     pr                  extproc('xmlUCSIsLao')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsLatin1Supplement...
-     d                 pr            10i 0 extproc('xmlUCSIsLatin1Supplement')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsLatin1Supplement')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsLatinExtendedA...
-     d                 pr            10i 0 extproc('xmlUCSIsLatinExtendedA')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsLatinExtendedA')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsLatinExtendedB...
-     d                 pr            10i 0 extproc('xmlUCSIsLatinExtendedB')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsLatinExtendedB')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsLatinExtendedAdditional...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsLatinExtendedAdditional')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsLetterlikeSymbols...
-     d                 pr            10i 0 extproc('xmlUCSIsLetterlikeSymbols')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsLetterlikeSymbols')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
-     d xmlUCSIsLimbu   pr            10i 0 extproc('xmlUCSIsLimbu')
-     d  code                         10i 0 value
+     d xmlUCSIsLimbu   pr                  extproc('xmlUCSIsLimbu')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsLinearBIdeograms...
-     d                 pr            10i 0 extproc('xmlUCSIsLinearBIdeograms')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsLinearBIdeograms')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsLinearBSyllabary...
-     d                 pr            10i 0 extproc('xmlUCSIsLinearBSyllabary')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsLinearBSyllabary')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsLowSurrogates...
-     d                 pr            10i 0 extproc('xmlUCSIsLowSurrogates')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsLowSurrogates')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsMalayalam...
-     d                 pr            10i 0 extproc('xmlUCSIsMalayalam')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsMalayalam')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsMathematicalAlphanumericSymbols...
-     d                 pr            10i 0 extproc('xmlUCSIsMathematicalAlphanu-
+     d                 pr                  extproc('xmlUCSIsMathematicalAlphanu-
      d                                     mericSymbols')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsMathematicalOperators...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsMathematicalOperators')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsMiscellaneousMathematicalSymbolsA...
-     d                 pr            10i 0 extproc('xmlUCSIsMiscellaneousMathem-
+     d                 pr                  extproc('xmlUCSIsMiscellaneousMathem-
      d                                     aticalSymbolsA')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsMiscellaneousMathematicalSymbolsB...
-     d                 pr            10i 0 extproc('xmlUCSIsMiscellaneousMathem-
+     d                 pr                  extproc('xmlUCSIsMiscellaneousMathem-
      d                                     aticalSymbolsB')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsMiscellaneousSymbols...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsMiscellaneousSymbols')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsMiscellaneousSymbolsandArrows...
-     d                 pr            10i 0 extproc('xmlUCSIsMiscellaneousSymbol-
+     d                 pr                  extproc('xmlUCSIsMiscellaneousSymbol-
      d                                     sandArrows')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsMiscellaneousTechnical...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsMiscellaneousTechnical')
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsMongolian...
-     d                 pr            10i 0 extproc('xmlUCSIsMongolian')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsMongolian')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsMusicalSymbols...
-     d                 pr            10i 0 extproc('xmlUCSIsMusicalSymbols')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsMusicalSymbols')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsMyanmar...
-     d                 pr            10i 0 extproc('xmlUCSIsMyanmar')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsMyanmar')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsNumberForms...
-     d                 pr            10i 0 extproc('xmlUCSIsNumberForms')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsNumberForms')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
-     d xmlUCSIsOgham   pr            10i 0 extproc('xmlUCSIsOgham')
-     d  code                         10i 0 value
+     d xmlUCSIsOgham   pr                  extproc('xmlUCSIsOgham')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsOldItalic...
-     d                 pr            10i 0 extproc('xmlUCSIsOldItalic')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsOldItalic')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsOpticalCharacterRecognition...
-     d                 pr            10i 0 extproc(
+     d                 pr                  extproc(
      d                                     'xmlUCSIsOpticalCharacterRecognition'
      d                                     )
-     d  code                         10i 0 value
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
-     d xmlUCSIsOriya   pr            10i 0 extproc('xmlUCSIsOriya')
-     d  code                         10i 0 value
+     d xmlUCSIsOriya   pr                  extproc('xmlUCSIsOriya')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsOsmanya...
-     d                 pr            10i 0 extproc('xmlUCSIsOsmanya')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsOsmanya')
+     d                                     like(xmlCint)
+     d  code                               value like(xmlCint)
 
      d xmlUCSIsPhoneticExtensions...
-     d                 pr            10i 0 extproc('xmlUCSIsPhoneticExtensions')
-     d  code                         10i 0 value
+     d                 pr                  extproc('xmlUCSIsPhoneticExtensions')
+     d                                     like(xmlCint)
+