diff options
| author | Haibo Huang <hhb@google.com> | 2020-07-30 23:01:33 -0700 |
|---|---|---|
| committer | Haibo Huang <hhb@google.com> | 2020-07-31 00:02:25 -0700 |
| commit | cfd91dcb1d8895a6e567a9ff975c3ff6e08202d4 (patch) | |
| tree | ca9b1275aceb3fef613145005ac702e596eeb644 | |
| parent | 0793c203602155220d00e079d075b6b5d2c8b381 (diff) | |
| download | platform_external_libxml2-cfd91dcb1d8895a6e567a9ff975c3ff6e08202d4.tar.gz platform_external_libxml2-cfd91dcb1d8895a6e567a9ff975c3ff6e08202d4.tar.bz2 platform_external_libxml2-cfd91dcb1d8895a6e567a9ff975c3ff6e08202d4.zip | |
Upgrade libxml2 to 1a360c1c2ec950f478d55b31722ecf78f5698e97
Also change upstream to github.
This change moves away from stable release. Because we need CMakeLists.txt. It is not in any release yet.
They are likely to release another stable version within this year. We can upgrade to that version when it is available.
Bug: 157157503
Change-Id: If6f245dbabe36a114563d209c8e100b7e3083f20
553 files changed, 9101 insertions, 5996 deletions
diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..a688634f --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +/result/** -text +/test/** -text @@ -15,13 +15,16 @@ Makefile.in aclocal.m4 autom4te.cache bissect* +compile config.guess +config.h config.h.in config.h.in~ config.log config.status config.sub configure +dba100000.xml depcomp doc/Makefile doc/Makefile.in @@ -53,10 +56,12 @@ include/Makefile include/Makefile.in include/libxml/Makefile include/libxml/Makefile.in +include/libxml/xmlversion.h install-sh libtool libxml-2.0-uninstalled.pc libxml-2.0.pc +libxml2-config.cmake libxml2.la libxml2.spec list @@ -115,6 +120,7 @@ xml2Conf.sh xmlcatalog xmlconf xmllint +xstc/*-test.py xstc/Makefile xstc/Makefile.in xstc/Tests diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..801d4bcd --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,48 @@ +default: + # The image was generated with the following Dockerfile. It is also used + # for libxslt, that's why we need git and libgcrypt-dev. + # + # FROM ubuntu:20.04 + # ENV DEBIAN_FRONTEND=noninteractive + # RUN apt-get update && \ + # apt-get upgrade -y && \ + # apt-get install -y --no-install-recommends \ + # curl git ca-certificates \ + # autoconf automake libtool pkg-config \ + # make gcc clang llvm \ + # python-dev zlib1g-dev liblzma-dev libgcrypt-dev \ + # cmake + # WORKDIR /tests + # RUN curl https://www.w3.org/XML/Test/xmlts20080827.tar.gz |tar xz + image: registry.gitlab.gnome.org/gnome/libxml2 + +.test: + script: + - | + ln -s /tests/xmlconf + sh autogen.sh $CONFIG + make -j$(nproc) V=1 CFLAGS="$CFLAGS -Werror" + make check + +gcc: + extends: .test + variables: + CFLAGS: "-O2 -std=c89 -D_XOPEN_SOURCE=700" + +clang:asan: + extends: .test + variables: + CONFIG: "--without-python" + CC: clang + CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined,unsigned-integer-overflow -fno-sanitize-recover=all -Wno-error=cast-align" + # LeakSanitizer requires SYS_CAP_PTRACE + ASAN_OPTIONS: "detect_leaks=0" + UBSAN_OPTIONS: "print_stacktrace=1" + +clang:msan: + extends: .test + variables: + CONFIG: "--without-python --without-zlib --without-lzma" + CC: clang + CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=memory -Wno-error=cast-align" + diff --git a/.travis.yml b/.travis.yml index da481433..358e8cbf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,12 +10,13 @@ matrix: # Try to emulate a C89 compiler on a POSIX system by disabling as many # GNU extensions as possible. - compiler: gcc - env: CFLAGS="-O2 -std=c89 -D_XOPEN_SOURCE=700 -Werror -Wno-error=unused-function" + env: CFLAGS="-O2 -std=c89 -D_XOPEN_SOURCE=700 -Werror -Wno-error=array-bounds" # clang with AddressSanitizer and UndefinedBehaviorSanitizer. - compiler: clang + sudo: required dist: trusty env: CONFIG="--without-python" - CFLAGS="-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize=float-divide-by-zero,pointer-overflow -fno-sanitize-recover=all -Werror -Wno-error=unused-function -Wno-error=cast-align" + CFLAGS="-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined,unsigned-integer-overflow -fno-sanitize-recover=all -Werror -Wno-error=cast-align" UBSAN_OPTIONS=print_stacktrace=1 script: sh autogen.sh $CONFIG && make -j2 V=1 && make check git: diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..c918125a --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,744 @@ +cmake_minimum_required(VERSION 3.14) + +project(libxml2 C) + +include(CheckCSourceCompiles) +include(CheckFunctionExists) +include(CheckIncludeFiles) +include(CheckLibraryExists) +include(CheckStructHasMember) +include(CheckSymbolExists) +include(CMakePackageConfigHelpers) +include(GNUInstallDirs) + +set(LIBXML_MAJOR_VERSION 2) +set(LIBXML_MINOR_VERSION 9) +set(LIBXML_MICRO_VERSION 10) + +set(VERSION "${LIBXML_MAJOR_VERSION}.${LIBXML_MINOR_VERSION}.${LIBXML_MICRO_VERSION}") +set(LIBXML_VERSION ${LIBXML_MAJOR_VERSION}0${LIBXML_MINOR_VERSION}0${LIBXML_MICRO_VERSION}) +set(LIBXML_VERSION_STRING "${LIBXML_VERSION}") +set(LIBXML_VERSION_EXTRA "") +set(LIBXML_VERSION_NUMBER ${LIBXML_VERSION}) + +find_package(Iconv) +find_package(ICU) +find_package(LibLZMA) +find_package(Python COMPONENTS Interpreter Development) +find_package(Threads) +find_package(ZLIB) + +option(BUILD_SHARED_LIBS "Build shared libraries" ON) +set(LIBXML2_WITH_AUTOMATA ON) +option(LIBXML2_WITH_C14N "Add the Canonicalization support" ON) +option(LIBXML2_WITH_CATALOG "Add the Catalog support" ON) +option(LIBXML2_WITH_DEBUG "Add the debugging module" ON) +option(LIBXML2_WITH_DOCB "Add Docbook SGML support" ON) +set(LIBXML2_WITH_EXPR ON) +option(LIBXML2_WITH_FTP "Add the FTP support" ON) +option(LIBXML2_WITH_HTML "Add the HTML support" ON) +option(LIBXML2_WITH_HTTP "Add the HTTP support" ON) + +if(Iconv_FOUND) + option(LIBXML2_WITH_ICONV "Add ICONV support" ON) +else() + set(LIBXML2_WITH_ICONV OFF) +endif() + +if(ICU_FOUND) + option(LIBXML2_WITH_ICU "Add ICU support" OFF) +else() + set(LIBXML2_WITH_ICU OFF) +endif() + +option(LIBXML2_WITH_ISO8859X "Add ISO8859X support if no iconv" ON) +option(LIBXML2_WITH_LEGACY "Add deprecated APIs for compatibility" ON) + +if(LIBLZMA_FOUND) + option(LIBXML2_WITH_LZMA "Use liblzma" ON) +else() + set(LIBXML2_WITH_LZMA OFF) +endif() + +option(LIBXML2_WITH_MEM_DEBUG "Add the memory debugging module" OFF) +option(LIBXML2_WITH_MODULES "Add the dynamic modules support" ON) +option(LIBXML2_WITH_OUTPUT "Add the serialization support" ON) +option(LIBXML2_WITH_PATTERN "Add the xmlPattern selection interface" ON) +option(LIBXML2_WITH_PROGRAMS "Build programs" ON) +option(LIBXML2_WITH_PUSH "Add the PUSH parser interfaces" ON) + +if(Python_FOUND AND (Python_VERSION_MAJOR LESS 3 OR NOT WIN32)) + option(LIBXML2_WITH_PYTHON "Build Python bindings" ON) + set(LIBXML2_PYTHON_INSTALL_DIR ${Python_SITEARCH} CACHE PATH "Python bindings install directory") +else() + set(LIBXML2_WITH_PYTHON OFF) +endif() + +option(LIBXML2_WITH_READER "Add the xmlReader parsing interface" ON) +option(LIBXML2_WITH_REGEXPS "Add Regular Expressions support" ON) +option(LIBXML2_WITH_RUN_DEBUG "Add the runtime debugging module" OFF) +option(LIBXML2_WITH_SAX1 "Add the older SAX1 interface" ON) +option(LIBXML2_WITH_SCHEMAS "Add Relax-NG and Schemas support" ON) +option(LIBXML2_WITH_SCHEMATRON "Add Schematron support" ON) +option(LIBXML2_WITH_TESTS "Build tests" ON) + +if(Threads_FOUND) + option(LIBXML2_WITH_THREADS "Add multithread support" ON) +else() + set(LIBXML2_WITH_THREADS OFF) +endif() + +option(LIBXML2_WITH_THREAD_ALLOC "Add per-thread memory" OFF) +option(LIBXML2_WITH_TREE "Add the DOM like tree manipulation APIs" ON) +set(LIBXML2_WITH_TRIO OFF) +set(LIBXML2_WITH_UNICODE ON) +option(LIBXML2_WITH_VALID "Add the DTD validation support" ON) +option(LIBXML2_WITH_WRITER "Add the xmlWriter saving interface" ON) +option(LIBXML2_WITH_XINCLUDE "Add the XInclude support" ON) +option(LIBXML2_WITH_XPATH "Add the XPATH support" ON) +option(LIBXML2_WITH_XPTR "Add the XPointer support" ON) + +if(ZLIB_FOUND) + option(LIBXML2_WITH_ZLIB "Use libz" ON) +else() + set(LIBXML2_WITH_ZLIB OFF) +endif() + +set(LIBXML2_XMLCONF_WORKING_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH "Working directory for XML Conformance Test Suite") + +foreach(VARIABLE IN ITEMS WITH_AUTOMATA WITH_C14N WITH_CATALOG WITH_DEBUG WITH_DOCB WITH_EXPR WITH_FTP WITH_HTML WITH_HTTP WITH_ICONV WITH_ICU WITH_ISO8859X WITH_LEGACY WITH_LZMA WITH_MEM_DEBUG WITH_MODULES WITH_OUTPUT WITH_PATTERN WITH_PUSH WITH_READER WITH_REGEXPS WITH_RUN_DEBUG WITH_SAX1 WITH_SCHEMAS WITH_SCHEMATRON WITH_THREADS WITH_THREAD_ALLOC WITH_TREE WITH_TRIO WITH_UNICODE WITH_VALID WITH_WRITER WITH_XINCLUDE WITH_XPATH WITH_XPTR WITH_ZLIB) + if(LIBXML2_${VARIABLE}) + set(${VARIABLE} 1) + else() + set(${VARIABLE} 0) + endif() +endforeach() + +set(MODULE_EXTENSION "${CMAKE_SHARED_LIBRARY_SUFFIX}") + +set(PACKAGE "libxml2") +set(PACKAGE_BUGREPORT "xml@gnome.org") +set(PACKAGE_NAME "libxml2") +set(PACKAGE_STRING "libxml2 ${VERSION}") +set(PACKAGE_TARNAME "libxml2") +set(PACKAGE_URL "http://www.xmlsoft.org/") +set(PACKAGE_VERSION ${VERSION}) + +if(LIBLZMA_FOUND) + list(APPEND CMAKE_REQUIRED_LIBRARIES LibLZMA::LibLZMA) +endif() + +if(Threads_FOUND) + list(APPEND CMAKE_REQUIRED_LIBRARIES Threads::Threads) +endif() + +if(ZLIB_FOUND) + list(APPEND CMAKE_REQUIRED_LIBRARIES ZLIB::ZLIB) +endif() + +if(MSVC) + configure_file(include/win32config.h config.h COPYONLY) +else() + check_c_source_compiles(" + void __attribute__((destructor)) + f(void) {} + int main(void) { return 0; } + " ATTRIBUTE_DESTRUCTOR) + check_c_source_compiles(" + #include <netdb.h> + int main() { (void) gethostbyname((const char*) \"\"); return 0; } + " GETHOSTBYNAME_ARG_CAST_CONST) + if(NOT GETHOSTBYNAME_ARG_CAST_CONST) + set(GETHOSTBYNAME_ARG_CAST "(char *)") + else() + set(GETHOSTBYNAME_ARG_CAST "/**/") + endif() + check_include_files(arpa/inet.h HAVE_ARPA_INET_H) + check_include_files(arpa/nameser.h HAVE_ARPA_NAMESER_H) + check_struct_has_member("struct sockaddr_storage" ss_family "sys/socket.h;sys/types.h" HAVE_SS_FAMILY) + check_struct_has_member("struct sockaddr_storage" __ss_family "sys/socket.h;sys/types.h" HAVE_BROKEN_SS_FAMILY) + if(HAVE_BROKEN_SS_FAMILY) + set(ss_family __ss_family) + endif() + check_function_exists(class HAVE_CLASS) + check_include_files(ctype.h HAVE_CTYPE_H) + check_include_files(dirent.h HAVE_DIRENT_H) + check_include_files(dlfcn.h HAVE_DLFCN_H) + check_library_exists(dl dlopen "" HAVE_DLOPEN) + check_include_files(dl.h HAVE_DL_H) + check_include_files(errno.h HAVE_ERRNO_H) + check_include_files(fcntl.h HAVE_FCNTL_H) + check_function_exists(finite HAVE_FINITE) + check_include_files(float.h HAVE_FLOAT_H) + check_function_exists(fpclass HAVE_FPCLASS) + check_function_exists(fprintf HAVE_FPRINTF) + check_function_exists(fp_class HAVE_FP_CLASS) + check_function_exists(ftime HAVE_FTIME) + check_function_exists(getaddrinfo HAVE_GETADDRINFO) + check_function_exists(gettimeofday HAVE_GETTIMEOFDAY) + check_include_files(inttypes.h HAVE_INTTYPES_H) + check_function_exists(isascii HAVE_ISASCII) + check_function_exists(isinf HAVE_ISINF) + check_function_exists(isnan HAVE_ISNAN) + check_function_exists(isnand HAVE_ISNAND) + check_library_exists(history append_history "" HAVE_LIBHISTORY) + check_library_exists(lzma lzma_code "" HAVE_LIBLZMA) + check_library_exists(pthread pthread_join "" HAVE_LIBPTHREAD) + check_library_exists(readline readline "" HAVE_LIBREADLINE) + check_library_exists(z gzread "" HAVE_LIBZ) + check_include_files(limits.h HAVE_LIMITS_H) + check_function_exists(localtime HAVE_LOCALTIME) + check_include_files(lzma.h HAVE_LZMA_H) + check_include_files(malloc.h HAVE_MALLOC_H) + check_include_files(math.h HAVE_MATH_H) + check_include_files(memory.h HAVE_MEMORY_H) + check_function_exists(mmap HAVE_MMAP) + check_function_exists(munmap HAVE_MUNMAP) + check_symbol_exists(DIR ndir.h HAVE_NDIR_H) + check_include_files(netdb.h HAVE_NETDB_H) + check_include_files(netinet/in.h HAVE_NETINET_IN_H) + check_include_files(poll.h HAVE_POLL_H) + check_function_exists(printf HAVE_PRINTF) + check_include_files(pthread.h HAVE_PTHREAD_H) + check_function_exists(putenv HAVE_PUTENV) + check_function_exists(rand HAVE_RAND) + check_function_exists(rand_r HAVE_RAND_R) + check_include_files(resolv.h HAVE_RESOLV_H) + check_library_exists(dld shl_load "" HAVE_SHLLOAD) + check_function_exists(signal HAVE_SIGNAL) + check_include_files(signal.h HAVE_SIGNAL_H) + check_function_exists(snprintf HAVE_SNPRINTF) + check_function_exists(sprintf HAVE_SPRINTF) + check_function_exists(srand HAVE_SRAND) + check_function_exists(sscanf HAVE_SSCANF) + check_function_exists(stat HAVE_STAT) + check_include_files(stdarg.h HAVE_STDARG_H) + check_include_files(stdint.h HAVE_STDINT_H) + check_include_files(stdlib.h HAVE_STDLIB_H) + check_function_exists(strftime HAVE_STRFTIME) + check_include_files(strings.h HAVE_STRINGS_H) + check_include_files(string.h HAVE_STRING_H) + check_symbol_exists(DIR sys/dir.h HAVE_SYS_DIR_H) + check_include_files(sys/mman.h HAVE_SYS_MMAN_H) + check_symbol_exists(DIR sys/ndir.h HAVE_SYS_NDIR_H) + check_include_files(sys/select.h HAVE_SYS_SELECT_H) + check_include_files(sys/socket.h HAVE_SYS_SOCKET_H) + check_include_files(sys/stat.h HAVE_SYS_STAT_H) + check_include_files(sys/timeb.h HAVE_SYS_TIMEB_H) + check_include_files(sys/time.h HAVE_SYS_TIME_H) + check_include_files(sys/types.h HAVE_SYS_TYPES_H) + check_function_exists(time HAVE_TIME) + check_include_files(time.h HAVE_TIME_H) + check_include_files(unistd.h HAVE_UNISTD_H) + check_function_exists(va_copy HAVE_VA_COPY) + check_function_exists(vfprintf HAVE_VFPRINTF) + check_function_exists(vsnprintf HAVE_VSNPRINTF) + check_function_exists(vsprintf HAVE_VSPRINTF) + check_function_exists(__va_copy HAVE___VA_COPY) + check_c_source_compiles(" + #include <stdlib.h> + #include <iconv.h> + extern + #ifdef __cplusplus + \"C\" + #endif + #if defined(__STDC__) || defined(__cplusplus) + size_t iconv(iconv_t cd, char** inbuf, size_t* inbytesleft, char** outbuf, size_t* outbytesleft); + #else + size_t iconv(); + #endif + int main() { return 0; } + " ICONV_CONST_TEST) + if(NOT ICONV_CONST_TEST) + set(ICONV_CONST "const") + endif() + set(LT_OBJDIR ".libs/") + check_c_source_compiles(" + #include <sys/socket.h> + #include <sys/types.h> + int main() { (void) send(1, (const char*) \"\", 1, 1); return 0; } + " SEND_ARG2_CAST_CONST) + if(NOT SEND_ARG2_CAST_CONST) + set(SEND_ARG2_CAST "(char *)") + else() + set(SEND_ARG2_CAST "/**/") + endif() + check_include_files("float.h;stdarg.h;stdlib.h;string.h" STDC_HEADERS) + check_c_source_compiles(" + #include <stdarg.h> + void a(va_list* ap) {}; + int main() { va_list ap1, ap2; a(&ap1); ap2 = (va_list) ap1; return 0; } + " VA_LIST_IS_ARRAY_TEST) + if(VA_LIST_IS_ARRAY_TEST) + set(VA_LIST_IS_ARRAY FALSE) + else() + set(VA_LIST_IS_ARRAY TRUE) + endif() + check_c_source_compiles(" + #include <stddef.h> + #include <sys/socket.h> + #include <sys/types.h> + int main() { (void) getsockopt(1, 1, 1, NULL, (socklen_t*) NULL); return 0; } + " XML_SOCKLEN_T_SOCKLEN_T) + if(XML_SOCKLEN_T_SOCKLEN_T) + set(XML_SOCKLEN_T socklen_t) + else() + check_c_source_compiles(" + #include <stddef.h> + #include <sys/socket.h> + #include <sys/types.h> + int main() { (void) getsockopt(1, 1, 1, NULL, (size_t*) NULL); return 0; } + " XML_SOCKLEN_T_SIZE_T) + if(XML_SOCKLEN_T_SIZE_T) + set(XML_SOCKLEN_T size_t) + else() + check_c_source_compiles(" + #include <stddef.h> + #include <sys/socket.h> + #include <sys/types.h> + int main() { (void) getsockopt (1, 1, 1, NULL, (int*) NULL); return 0; } + " XML_SOCKLEN_T_INT) + set(XML_SOCKLEN_T int) + endif() + endif() + configure_file(config.h.cmake.in config.h) +endif() + +set( + LIBXML2_HDRS + include/libxml/c14n.h + include/libxml/catalog.h + include/libxml/chvalid.h + include/libxml/debugXML.h + include/libxml/dict.h + include/libxml/DOCBparser.h + include/libxml/encoding.h + include/libxml/entities.h + include/libxml/globals.h + include/libxml/hash.h + include/libxml/HTMLparser.h + include/libxml/HTMLtree.h + include/libxml/list.h + include/libxml/nanoftp.h + include/libxml/nanohttp.h + include/libxml/parser.h + include/libxml/parserInternals.h + include/libxml/pattern.h + include/libxml/relaxng.h + include/libxml/SAX.h + include/libxml/SAX2.h + include/libxml/schemasInternals.h + include/libxml/schematron.h + include/libxml/threads.h + include/libxml/tree.h + include/libxml/uri.h + include/libxml/valid.h + include/libxml/xinclude.h + include/libxml/xlink.h + include/libxml/xmlIO.h + include/libxml/xmlautomata.h + include/libxml/xmlerror.h + include/libxml/xmlexports.h + include/libxml/xmlmemory.h + include/libxml/xmlmodule.h + include/libxml/xmlreader.h + include/libxml/xmlregexp.h + include/libxml/xmlsave.h + include/libxml/xmlschemas.h + include/libxml/xmlschemastypes.h + include/libxml/xmlstring.h + include/libxml/xmlunicode.h + include/libxml/xmlwriter.h + include/libxml/xpath.h + include/libxml/xpathInternals.h + include/libxml/xpointer.h +) + +set( + LIBXML2_SRCS + buf.c + c14n.c + catalog.c + chvalid.c + debugXML.c + dict.c + encoding.c + entities.c + error.c + globals.c + hash.c + HTMLparser.c + HTMLtree.c + legacy.c + list.c + nanoftp.c + nanohttp.c + parser.c + parserInternals.c + pattern.c + relaxng.c + SAX.c + SAX2.c + schematron.c + threads.c + tree.c + uri.c + valid.c + xinclude.c + xlink.c + xmlIO.c + xmlmemory.c + xmlmodule.c + xmlreader.c + xmlregexp.c + xmlsave.c + xmlschemas.c + xmlschemastypes.c + xmlstring.c + xmlunicode.c + xmlwriter.c + xpath.c + xpointer.c + xzlib.c +) + +if(WIN32) + list(APPEND LIBXML2_SRCS win32/libxml2.rc) + file( + WRITE + ${CMAKE_CURRENT_BINARY_DIR}/rcVersion.h + "#define LIBXML_MAJOR_VERSION ${LIBXML_MAJOR_VERSION}\n" + "#define LIBXML_MINOR_VERSION ${LIBXML_MINOR_VERSION}\n" + "#define LIBXML_MICRO_VERSION ${LIBXML_MICRO_VERSION}\n" + "#define LIBXML_DOTTED_VERSION \"${VERSION}\"\n" + ) +endif() + +if(LIBXML2_WITH_SAX1) + list(APPEND LIBXML2_SRCS DOCBparser.c) +endif() + +if(LIBXML2_WITH_TRIO) + list(APPEND LIBXML2_SRCS trio.c triostr.c) +endif() + +add_library(LibXml2 ${LIBXML2_HDRS} ${LIBXML2_SRCS}) + +if(LIBXML2_WITH_THREADS) + target_compile_definitions(LibXml2 PRIVATE _REENTRANT) + if(WIN32) + target_compile_definitions(LibXml2 PRIVATE HAVE_WIN32_THREADS) + endif() +endif() + +target_include_directories( + LibXml2 + PUBLIC + $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> + $<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}/libxml2> +) + +if(HAVE_DLOPEN) + target_link_libraries(LibXml2 PRIVATE dl) +endif() + +if(HAVE_SHLLOAD) + target_link_libraries(LibXml2 PRIVATE dld) +endif() + +if(UNIX) + target_link_libraries(LibXml2 PRIVATE m) +endif() + +if(WIN32) + target_link_libraries(LibXml2 PRIVATE ws2_32) +endif() + +if(LIBXML2_WITH_ICONV) + target_link_libraries(LibXml2 PUBLIC Iconv::Iconv) +endif() + +if(LIBXML2_WITH_ICU) + target_link_libraries(LibXml2 PRIVATE ICU::i18n) +endif() + +if(LIBXML2_WITH_LZMA) + target_link_libraries(LibXml2 PRIVATE LibLZMA::LibLZMA) +endif() + +if(LIBXML2_WITH_THREADS) + target_link_libraries(LibXml2 PRIVATE Threads::Threads) +endif() + +if(LIBXML2_WITH_ZLIB) + target_link_libraries(LibXml2 PRIVATE ZLIB::ZLIB) +endif() + +set_target_properties( + LibXml2 + PROPERTIES + IMPORT_PREFIX lib + OUTPUT_NAME xml2 + POSITION_INDEPENDENT_CODE ON + PREFIX lib + VERSION ${VERSION} +) + +if(WIN32) + if(BUILD_SHARED_LIBS) + set_target_properties( + LibXml2 + PROPERTIES + DEBUG_POSTFIX d + ) + else() + set_target_properties( + LibXml2 + PROPERTIES + DEBUG_POSTFIX sd + MINSIZEREL_POSTFIX s + RELEASE_POSTFIX s + RELWITHDEBINFO_POSTFIX s + ) + endif() +endif() + +install(FILES ${LIBXML2_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libxml2/libxml COMPONENT development) + +install( + TARGETS LibXml2 + EXPORT LibXml2 + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT development + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime NAMELINK_SKIP + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime +) + +if(BUILD_SHARED_LIBS) + install( + TARGETS LibXml2 + EXPORT LibXml2 + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT development NAMELINK_ONLY + ) +endif() + +if(MSVC AND BUILD_SHARED_LIBS) + install(FILES $<TARGET_PDB_FILE:LibXml2> DESTINATION ${CMAKE_INSTALL_BINDIR} CONFIGURATIONS Debug RelWithDebInfo COMPONENT debug) +endif() + +if(LIBXML2_WITH_PROGRAMS) + set( + PROGRAMS + xmlcatalog + xmllint + ) + foreach(PROGRAM ${PROGRAMS}) + add_executable(${PROGRAM} ${PROGRAM}.c) + target_link_libraries(${PROGRAM} LibXml2) + if(HAVE_LIBHISTORY) + target_link_libraries(${PROGRAM} history) + endif() + if(HAVE_LIBREADLINE) + target_link_libraries(${PROGRAM} readline) + endif() + install(TARGETS ${PROGRAM} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT programs) + endforeach() +endif() + +if(LIBXML2_WITH_TESTS) + enable_testing() + set( + TESTS + runxmlconf + runsuite + testapi + testAutomata + testC14N + testchar + testdict + testHTML + testModule + testlimits + testReader + testrecurse + testRegexp + testRelax + testSAX + testSchemas + testURI + testXPath + ) + foreach(TEST ${TESTS}) + add_executable(${TEST} ${TEST}.c) + target_link_libraries(${TEST} LibXml2) + endforeach() + if(EXISTS ${LIBXML2_XMLCONF_WORKING_DIR}/xmlconf/xmlconf.xml) + add_test(NAME runxmlconf COMMAND runxmlconf WORKING_DIRECTORY ${LIBXML2_XMLCONF_WORKING_DIR}) + endif() + if(NOT WIN32) + add_test(NAME testapi COMMAND testapi) + endif() + add_test(NAME testchar COMMAND testchar) + add_test(NAME testdict COMMAND testdict) + add_test(NAME testrecurse COMMAND testrecurse WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + if(Threads_FOUND) + set( + TESTS_THREADS + runtest + testThreads + ) + foreach(TEST ${TESTS_THREADS}) + add_executable(${TEST} ${TEST}.c) + if(WIN32) + target_compile_definitions(${TEST} PRIVATE HAVE_WIN32_THREADS) + endif() + target_link_libraries(${TEST} LibXml2 Threads::Threads) + endforeach() + add_test(NAME runtest COMMAND runtest --out ${CMAKE_CURRENT_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + add_test(NAME testThreads COMMAND testThreads WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + endif() +endif() + +if(LIBXML2_WITH_PYTHON) + execute_process( + COMMAND + ${Python_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/python/generator.py + ${CMAKE_CURRENT_SOURCE_DIR}/doc/libxml2-api.xml + ${CMAKE_CURRENT_SOURCE_DIR}/python/libxml2-python-api.xml + WORKING_DIRECTORY + ${CMAKE_CURRENT_BINARY_DIR} + ) + file(READ python/libxml.py LIBXML_PY) + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/libxml2.py.in "${LIBXML_PY}") + file(READ ${CMAKE_CURRENT_BINARY_DIR}/libxml2class.py LIBXML2CLASS_PY) + file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libxml2.py.in "${LIBXML2CLASS_PY}") + configure_file(${CMAKE_CURRENT_BINARY_DIR}/libxml2.py.in libxml2.py COPYONLY) + add_library( + LibXml2Mod + libxml2-py.c + libxml2-py.h + python/libxml.c + python/libxml_wrap.h + python/types.c + ) + target_include_directories( + LibXml2Mod + PUBLIC + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/python> + ) + target_link_libraries(LibXml2Mod LibXml2 Python::Python) + set_target_properties( + LibXml2Mod + PROPERTIES + IMPORT_PREFIX lib + OUTPUT_NAME xml2mod + PREFIX lib + VERSION ${VERSION} + ) + install( + TARGETS LibXml2Mod + ARCHIVE DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT development + LIBRARY DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT runtime NAMELINK_SKIP + RUNTIME DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT runtime + ) + if(BUILD_SHARED_LIBS) + install( + TARGETS LibXml2Mod + LIBRARY DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT development NAMELINK_ONLY + ) + endif() + if(MSVC AND BUILD_SHARED_LIBS) + install(FILES $<TARGET_PDB_FILE:LibXml2Mod> DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} CONFIGURATIONS Debug RelWithDebInfo COMPONENT debug) + endif() + install(FILES python/drv_libxml2.py DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT runtime) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2.py DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT runtime) +endif() + +install(FILES libxml.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 COMPONENT documentation) +install(FILES doc/xmlcatalog.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation) +install(FILES doc/xmllint.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation) +install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/libxml2 COMPONENT documentation PATTERN Makefile.* EXCLUDE) + +configure_package_config_file( + libxml2-config.cmake.cmake.in libxml2-config.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${VERSION} +) + +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2-config.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${VERSION} + COMPONENT development +) + +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/libxml2-config-version.cmake + VERSION ${VERSION} + COMPATIBILITY ExactVersion +) + +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2-config-version.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${VERSION} + COMPONENT development +) + +install( + EXPORT LibXml2 + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${VERSION} + NAMESPACE LibXml2:: + FILE libxml2-export.cmake + COMPONENT development +) + +configure_file(include/libxml/xmlversion.h.in libxml/xmlversion.h) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml/xmlversion.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libxml2/libxml COMPONENT development) + +if(MSVC) + configure_file(include/libxml/xmlwin32version.h.in libxml/xmlwin32version.h) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml/xmlwin32version.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libxml2/libxml COMPONENT development) +endif() + +if(LIBXML2_WITH_PYTHON) + set(prefix "${CMAKE_INSTALL_PREFIX}") + configure_file(python/setup.py.in setup.py @ONLY) +endif() + +set(CPACK_COMPONENT_DEVELOPMENT_DEPENDS runtime) +set(CPACK_COMPONENT_PROGRAMS_DEPENDS runtime) +set(CPACK_DEB_COMPONENT_INSTALL ON) +set(CPACK_DEBIAN_DEVELOPMENT_PACKAGE_DEPENDS "${PACKAGE_TARNAME}") +set(CPACK_DEBIAN_DEVELOPMENT_PACKAGE_NAME "${PACKAGE_TARNAME}-dev") +set(CPACK_DEBIAN_DEVELOPMENT_PACKAGE_SECTION "libdevel") +set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${PACKAGE_URL}) +set(CPACK_DEBIAN_PACKAGE_NAME ${PACKAGE_TARNAME}) +set(CPACK_DEBIAN_PACKAGE_SECTION "devel") +set(CPACK_DEBIAN_PROGRAMS_PACKAGE_DEPENDS "${PACKAGE_TARNAME}") +set(CPACK_DEBIAN_PROGRAMS_PACKAGE_NAME "${PACKAGE_TARNAME}-utils") +set(CPACK_DEBIAN_PROGRAMS_PACKAGE_SECTION "utils") +set(CPACK_DEBIAN_RUNTIME_PACKAGE_NAME ${PACKAGE_TARNAME}) +set(CPACK_DEBIAN_RUNTIME_PACKAGE_RECOMMENDS "${PACKAGE_TARNAME}-utils") +set(CPACK_DEBIAN_RUNTIME_PACKAGE_SECTION "libs") +set(CPACK_NSIS_PACKAGE_NAME ${PACKAGE_STRING}) +set(CPACK_NSIS_URL_INFO_ABOUT ${PACKAGE_URL}) +set(CPACK_PACKAGE_CONTACT ${PACKAGE_BUGREPORT}) +set(CPACK_PACKAGE_DISPLAY_NAME ${PACKAGE_STRING}) +set(CPACK_PACKAGE_INSTALL_DIRECTORY "${PACKAGE_TARNAME}-${PACKAGE_VERSION}") +set(CPACK_PACKAGE_NAME ${PACKAGE_TARNAME}) +set(CPACK_PACKAGE_VERSION ${PACKAGE_VERSION}) +set(CPACK_PACKAGE_VERSION_MAJOR ${LIBXML_MAJOR_VERSION}) +set(CPACK_PACKAGE_VERSION_MINOR ${LIBXML_MINOR_VERSION}) +set(CPACK_PACKAGE_VERSION_PATCH ${LIBXML_MICRO_VERSION}) +set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/Copyright) +set(CPACK_RPM_COMPONENT_INSTALL ON) +set(CPACK_RPM_development_PACKAGE_NAME "${PACKAGE_NAME}-devel") +set(CPACK_RPM_development_PACKAGE_REQUIRES "${PACKAGE_NAME}") +set(CPACK_RPM_PACKAGE_GROUP "Development/Libraries") +set(CPACK_RPM_PACKAGE_NAME ${PACKAGE_TARNAME}) +set(CPACK_RPM_PACKAGE_URL ${PACKAGE_URL}) +set(CPACK_RPM_programs_PACKAGE_NAME "${PACKAGE_NAME}-utils") +set(CPACK_RPM_programs_PACKAGE_REQUIRES "${PACKAGE_NAME}") +set(CPACK_RPM_runtime_PACKAGE_NAME "${PACKAGE_NAME}") +set(CPACK_RPM_runtime_PACKAGE_SUGGESTS "${PACKAGE_NAME}-utils") + +include(CPack) diff --git a/CONTRIBUTING b/CONTRIBUTING index 6f7a9885..dad45676 100644 --- a/CONTRIBUTING +++ b/CONTRIBUTING @@ -1,6 +1,6 @@ The current version of the code can be found in the GNOME Git Repository: - https://git.gnome.org/browse/libxml2/ + https://gitlab.gnome.org/GNOME/libxml2 There's mirror on GitHub: @@ -10,7 +10,7 @@ Start discussions and send patches to the mailing list, or file a bug and add a patch as attachment. https://mail.gnome.org/mailman/listinfo/xml - https://bugzilla.gnome.org/enter_bug.cgi?product=libxml2 + https://gitlab.gnome.org/GNOME/libxml2/issues Format patches with git-format-patch and use plain text attachments if possible. @@ -18,7 +18,3 @@ if possible. All code must conform to C89 and pass the "make check" tests. Avoid compiler warnings and add regression tests if possible. -The .travis.yml file can be used to thoroughly check the build with strict -compiler flags, ASan and UBSan. Fork the libxml2 mirror on GitHub and set -up Travis to test the commits you make on your fork. - @@ -379,7 +379,7 @@ Tue Aug 26 09:42:08 CEST 2008 Daniel Veillard <daniel@veillard.com> * test/schemas/regexp-char-ref_0.xml test/schemas/regexp-char-ref_0.xsd test/schemas/regexp-char-ref_1.xsd result/schemas/regexp-char-ref_0_0 result/schemas/regexp-char-ref_1_0: Volker Grabsch also provided - regession tests for this + regression tests for this Tue Aug 26 09:25:39 CEST 2008 Daniel Veillard <daniel@veillard.com> @@ -463,7 +463,7 @@ Thu Jul 31 21:49:45 CEST 2008 Daniel Veillard <daniel@veillard.com> allow to make Name and NmToken validations based on the parser flags, more specifically the 5th edition of XML or not * HTMLparser.c tree.c: small side effects for the previous changes - * parser.c SAX2.c valid.c: the bulk of teh changes are here, + * parser.c SAX2.c valid.c: the bulk of the changes are here, the parser and validation behaviour can be affected, parsing flags need to be copied, lot of changes. Also fixing various validation problems in the regression tests. @@ -475,7 +475,7 @@ Thu Jul 31 10:15:53 CEST 2008 Daniel Veillard <daniel@veillard.com> * include/libxml/xmlerror.h parser.c: clean up namespace errors checking and reporting, errors when a document is labelled as UTF-16 while it is parsed as UTF-8 and no encoding was given - explicitely. + explicitly. * result/errors/webdav.xml.*: some warnings are no recategorized as Namespace errors @@ -663,7 +663,7 @@ Thu Apr 3 11:44:57 CEST 2008 Daniel Veillard <daniel@veillard.com> Thu Apr 3 11:02:02 CEST 2008 Daniel Veillard <daniel@veillard.com> - * HTMLparser.c: apparently it's okay to forget the semicolumn after + * HTMLparser.c: apparently it's okay to forget the semicolon after entity refs in HTML, fixing char refs parsing accordingly based on T. Manske patch, this should fix #517653 @@ -787,7 +787,7 @@ Wed Mar 12 18:56:22 CET 2008 Daniel Veillard <daniel@veillard.com> Wed Mar 12 10:22:01 CET 2008 Daniel Veillard <daniel@veillard.com> - * python/types.c: fix a memory errro when using namespace nodes + * python/types.c: fix a memory error when using namespace nodes returned from XPath queries, should fix #521699 * python/tests/Makefile.am python/tests/xpathns.py: add a specific regression test for it @@ -917,7 +917,7 @@ Fri Jan 25 20:01:42 CET 2007 Rob Richards <rrichards@ctindustries.net> Thu Jan 24 15:37:04 CET 2008 Daniel Veillard <daniel@veillard.com> - * parser.c: fix a memeory leak in internal subset parsing with + * parser.c: fix a memory leak in internal subset parsing with a fix from Ashwin * test/errors/content1.xml result/errors/content1.xml*: add test to regressions @@ -1230,7 +1230,7 @@ Thu May 10 01:52:42 CEST 2007 Daniel Veillard <daniel@veillard.com> * list.c: applied patch to fix xmlListAppend() from Georges-André SILBER - * valid.c: also fix the place wher it was called. + * valid.c: also fix the place where it was called. Wed May 2 18:47:33 CEST 2007 Daniel Veillard <daniel@veillard.com> @@ -1328,7 +1328,7 @@ Wed Mar 21 14:23:08 HKT 2007 William Brack <wbrack@mmm.com.hk> Tue Mar 20 09:58:13 CET 2007 Daniel Veillard <daniel@veillard.com> * nanoftp.c: applied patch from Björn Wiberg to try to fix again - the silly __ss_familly problem on various AIXes, should fix #420184 + the silly __ss_family problem on various AIXes, should fix #420184 Wed Mar 14 20:30:38 HKT 2007 William Brack <wbrack@mmm.com.hk> @@ -1424,7 +1424,7 @@ Thu Jan 4 18:27:49 CET 2007 Daniel Veillard <daniel@veillard.com> test/relaxng/empty1_0.xml test/relaxng/comps.rng test/relaxng/empty0.rng test/relaxng/empty0_0.xml test/relaxng/empty1_1.xml: tests which were apparently - never commited to CVS + never committed to CVS Wed Jan 3 16:05:21 PST 2007 Aleksey Sanin <aleksey@aleksey.com> @@ -1519,7 +1519,7 @@ Tue Oct 17 22:19:02 CEST 2006 Daniel Veillard <daniel@veillard.com> Tue Oct 17 22:04:31 CEST 2006 Daniel Veillard <daniel@veillard.com> - * HTMLparser.c: fixed teh 2 stupid bugs affecting htmlReadDoc() and + * HTMLparser.c: fixed the 2 stupid bugs affecting htmlReadDoc() and htmlReadIO() this should fix #340322 Tue Oct 17 21:39:23 CEST 2006 Daniel Veillard <daniel@veillard.com> @@ -1531,7 +1531,7 @@ Tue Oct 17 18:12:34 CEST 2006 Daniel Veillard <daniel@veillard.com> * HTMLparser.c: fixing HTML minimized attribute values to be generated internally if not present, fixes bug #332124 * result/HTML/doc2.htm.sax result/HTML/doc3.htm.sax - result/HTML/wired.html.sax: this affects the SAX event strem for + result/HTML/wired.html.sax: this affects the SAX event stream for a few test cases Tue Oct 17 17:56:31 CEST 2006 Daniel Veillard <daniel@veillard.com> @@ -1627,7 +1627,7 @@ Wed Oct 11 23:11:58 CEST 2006 Daniel Veillard <daniel@veillard.com> Wed Oct 11 18:40:00 CEST 2006 Daniel Veillard <daniel@veillard.com> - * valid.c: fixed a weird error where validity context whould not + * valid.c: fixed a weird error where validity context would not show up if warnings were disabled pointed out by Bob Stayton * xmlIO.c doc/generator.py: cleanup and fix to regenerate the docs * doc//* testapi.c: rebuilt the docs @@ -1680,7 +1680,7 @@ Tue Oct 10 10:52:01 CEST 2006 Daniel Veillard <daniel@veillard.com> Tue Oct 10 10:33:43 CEST 2006 Daniel Veillard <daniel@veillard.com> * python/libxml.py python/types.c: applied patch from Ross Reedstrom, - Brian West and Stefan Anca to add XPointer suport to the Python bindings + Brian West and Stefan Anca to add XPointer support to the Python bindings Fri Sep 29 11:13:59 CEST 2006 Daniel Veillard <daniel@veillard.com> @@ -1740,7 +1740,7 @@ Thu Aug 17 00:48:31 CEST 2006 Rob Richards <rrichards@ctindustries.net> Wed Aug 16 01:15:12 CEST 2006 Rob Richards <rrichards@ctindustries.net> * HTMLtree.c xmlsave.c: Add linefeeds to error messages allowing - for consistant handling. + for consistent handling. Tue Aug 15 15:02:18 CEST 2006 Kasimier Buchcik <libxml2-cvs@cazic.net> @@ -1857,7 +1857,7 @@ Mon Jun 26 16:22:50 CEST 2006 Kasimier Buchcik <libxml2-cvs@cazic.net> initialized to zero here; this could lead to the activation of the axis rewrite code in xmlXPathNodeCollectAndTest() when @rewriteType is randomly set to the value 1. A test - (hardcoding the intial value to 1) revealed that the + (hardcoding the initial value to 1) revealed that the resulting incorrect behaviour is similar to the behaviour as described by Arnold Hendriks on the mailing list; so I hope that will fix the issue. @@ -1912,7 +1912,7 @@ Fri Jun 16 21:37:44 CEST 2006 Kasimier Buchcik <libxml2-cvs@cazic.net> for my custom handling of ns-references in my DOM wrapper. Substituted code which created the XML namespace decl on the doc for a call to xmlTreeEnsureXMLDecl(). Removed - those nastly "warnigns" from the docs of the clone/adopt + those nasty "warnings" from the docs of the clone/adopt functions; they work fine on my side. Mon Jun 12 13:23:11 CEST 2006 Kasimier Buchcik <libxml2-cvs@cazic.net> @@ -2022,7 +2022,7 @@ Tue May 30 11:21:34 CEST 2006 Kasimier Buchcik <libxml2-cvs@cazic.net> * xpath.c: Enhanced xmlXPathNodeCollectAndTest() to avoid recreation (if possible) of the node-set which is used to - collect the nodes in the current axis for the currect context + collect the nodes in the current axis for the current context node. Especially for "//foo" this will decrease dramatically the number of created node-sets, since for each node in the result node-set of the evaluation of descendant-or-self::node() @@ -2033,7 +2033,7 @@ Tue May 30 11:21:34 CEST 2006 Kasimier Buchcik <libxml2-cvs@cazic.net> Mon May 29 18:06:17 CEST 2006 Kasimier Buchcik <libxml2-cvs@cazic.net> * xpath.c include/libxml/xpath.h: Added an XPath object cache. - It sits on an xmlXPathContext and need to be explicitely + It sits on an xmlXPathContext and need to be explicitly activated (or deactivated again) with xmlXPathContextSetObjectCache(). The cache consists of 5 lists for node-set, string, number, boolean and misc XPath @@ -2052,18 +2052,18 @@ Wed May 24 10:54:25 CEST 2006 Kasimier Buchcik <libxml2-cvs@cazic.net> * xpath.c: Removed a memcpy if xmlXPathNodeSetMerge(); it seems we really need to walk the whole list, since those - nastly namespace nodes need to be added with + nasty namespace nodes need to be added with xmlXPathNodeSetDupNs(); thus a pure memcpy is not possible. A flag on the node-set indicating if namespace nodes are in the set would help here; this is the 3rd flag which would - be usefull with node-sets. The current flags I have in mind: + be useful with node-sets. The current flags I have in mind: 1) Is a node-set already sorted? This would allow for rebust and optimizable sorting behaviour. 2) Of what type are the nodes in the set (or of mixed type)? This would allow for faster merging of node-sets. 3) Are namespace nodes in the set? - This would allow to skipp all the namespace node specific + This would allow to skip all the namespace node specific special handling. Faster node-set merging if the first set is empty; just memcpy the set. @@ -2112,7 +2112,7 @@ Tue May 16 16:55:13 CEST 2006 Kasimier Buchcik <libxml2-cvs@cazic.net> compilation time (unlike normal XPath, where we can bind namespace names to prefixes at execution time). * pattern.c: Enhanced to use a string dict for local-names, - ns-prefixes and and namespace-names. + ns-prefixes and namespace-names. Fixed xmlStreamPushInternal() not to use string-pointer comparison if a dict is available; this won't work, since one does not know it the given strings originate from the @@ -2269,7 +2269,7 @@ Wed Mar 22 00:14:34 CET 2006 Daniel Veillard <daniel@veillard.com> Fri Mar 10 08:40:55 EST 2006 Daniel Veillard <daniel@veillard.com> * c14n.c encoding.c xmlschemas.c xpath.c xpointer.c: fix a few - warning raised by gcc-4.1 and latests changes + warning raised by gcc-4.1 and latest changes Fri Mar 10 01:34:42 CET 2006 Daniel Veillard <daniel@veillard.com> @@ -2485,7 +2485,7 @@ Mon Jan 9 15:33:16 CET 2006 Daniel Veillard <daniel@veillard.com> Thu Jan 5 16:25:06 CET 2006 Daniel Veillard <daniel@veillard.com> - * NEWS configure.in libxml.spec.in testapi.c doc/*: upated the news + * NEWS configure.in libxml.spec.in testapi.c doc/*: updated the news regenerated the docs, preparing for release of 2.6.23 * pattern.c xmlschemas.c: fixed some comments @@ -2520,7 +2520,7 @@ Wed Jan 4 18:07:47 CET 2006 Daniel Veillard <daniel@veillard.com> Wed Jan 4 15:00:51 CET 2006 Daniel Veillard <daniel@veillard.com> * SAX2.c: fix bug #324432 with <xml:foo/> - * test/ns7 resul//ns7*: added to the regression tests + * test/ns7 result/ns7*: added to the regression tests Wed Jan 4 10:53:56 CET 2006 Daniel Veillard <daniel@veillard.com> @@ -2861,7 +2861,7 @@ Fri Oct 21 10:50:14 EDT 2005 Rob Richards <rrichards@ctindustries.net> Wed Oct 19 16:53:47 BST 2005 Daniel Veillard <daniel@veillard.com> - * xmlregexp.c: commiting a some fixes and debug done yesterday in + * xmlregexp.c: committing a some fixes and debug done yesterday in the London airport. Thu Oct 20 12:54:23 CEST 2005 Kasimier Buchcik <libxml2-cvs@cazic.net> @@ -2932,7 +2932,7 @@ Fri Oct 14 16:21:22 CEST 2005 Kasimier Buchcik <libxml2-cvs@cazic.net> Allowed IDCs to resolve also to nodes of complex type with simple content. Added check for keyrefs with references to keyrefs. - IDC target-nodes were interferring with IDC node-tables, + IDC target-nodes were interfering with IDC node-tables, since they used one list of entries only. I separated this one big list into 3 lists: 1 for IDC node-table entries, 1 for _duplicates_ of IDC node-table entries and 1 for @@ -2967,12 +2967,12 @@ Mon Oct 10 15:12:43 CEST 2005 Kasimier Buchcik <libxml2-cvs@cazic.net> Fixed default/fixed values for attributes (looks like they did not work in the last releases). Completed constraints for attribute uses. - Seperated attribute derivation from attribute constraints. + Separated attribute derivation from attribute constraints. Completed constraints for attribute group definitions. Disallowing <import>s of schemas in no target namespace if the importing schema is a chameleon schema. This contradicts the way Saxon, Xerces-J, XSV and IBM's SQC works, but the - W3C XML Schema WG, thinks it is correct to dissalow such + W3C XML Schema WG, thinks it is correct to disallow such imports. Added cos-all-limited constraints. Restructured reference resolution to model groups and element @@ -3053,7 +3053,7 @@ Mon Sep 12 21:00:53 CEST 2005 Kasimier Buchcik <libxml2-cvs@cazic.net> * xmlschemas.c include/libxml/schemasInternals.h include/libxml/xmlerror.h: Completion of the schema graph. Centralisation, more robustness of the schema document - aquisition story. Centralised and restructured component fixup. + acquisition story. Centralised and restructured component fixup. Fixed attribute derivation when 'prohibiting' attribute uses. Added warnings: when schema documents cannot be localized during imports; when we get duplicate and pointless attribute @@ -3385,7 +3385,7 @@ Wed Aug 10 18:21:41 CEST 2005 Daniel Veillard <daniel@veillard.com> list values. * test/relaxng/307377* result/relaxng/307377* Makefile.am runtest.c: added examples to the regression tests, problem is that streaming - version gives slightly more informations. + version gives slightly more information. Wed Aug 10 15:25:53 CEST 2005 Daniel Veillard <daniel@veillard.com> @@ -3398,7 +3398,7 @@ Wed Aug 10 11:59:46 CEST 2005 Kasimier Buchcik <libxml2-cvs@cazic.net> Tue Aug 9 23:37:22 CEST 2005 Daniel Veillard <daniel@veillard.com> * xmlregexp.c: fixed a determinism detection problem exposed by - ##other tests commited by Kasimier, also added a small speedup + ##other tests committed by Kasimier, also added a small speedup of determinism detection. * test/results/any6_2_0* any8_1_0* any7_1_2* any7_2_2*: added the results to the regression tests now @@ -3424,7 +3424,7 @@ Tue Aug 9 13:07:27 CEST 2005 Daniel Veillard <daniel@veillard.com> * result/schemas/any7* test/schemas/any7: completed the tests and added the results * result/schemas/any3_0_0.err result/schemas/any5_0_0.err - result/schemas/any5_1_0.err: this slightly chnages the output + result/schemas/any5_1_0.err: this slightly changes the output from 3 existing tests Mon Aug 8 22:33:08 CEST 2005 Daniel Veillard <daniel@veillard.com> @@ -3468,7 +3468,7 @@ Mon Aug 8 01:41:53 CEST 2005 Daniel Veillard <daniel@veillard.com> Sun Aug 7 12:39:35 CEST 2005 Daniel Veillard <daniel@veillard.com> - * test/relaxng/docbook_0.xml: get rid of the dependancy on a locally + * test/relaxng/docbook_0.xml: get rid of the dependency on a locally installed DTD * uri.c include/libxml/uri.h xmlIO.c nanoftp.c nanohttp.c: try to cleanup the Path/URI conversion mess, needed fixing in various @@ -3522,7 +3522,7 @@ Sat Jul 30 17:26:58 EDT 2005 Daniel Veillard <daniel@veillard.com> Sat Jul 30 17:08:07 EDT 2005 Daniel Veillard <daniel@veillard.com> - * schematron.c xmllint.c include/libxml/schematron.h: commiting + * schematron.c xmllint.c include/libxml/schematron.h: committing work done on the plane last week-end Sat Jul 30 15:16:29 CEST 2005 Daniel Veillard <daniel@veillard.com> @@ -4029,7 +4029,7 @@ Mon Jun 27 01:01:32 CEST 2005 Daniel Veillard <daniel@veillard.com> Sun Jun 26 20:08:24 CEST 2005 Daniel Veillard <daniel@veillard.com> - * include/libxml/valid.h valid.c: avoid name glob in agruments as + * include/libxml/valid.h valid.c: avoid name glob in arguments as it matches the glob() routine. * runtest.c Makefile.am: first steps toward a C regression test framework. @@ -4463,7 +4463,7 @@ Fri Apr 1 16:07:59 CEST 2005 Daniel Veillard <daniel@veillard.com> * doc/apibuild.py doc/elfgcchack.xsl: revamped the elfgcchack.h format to cope with gcc4 change of aliasing allowed scopes, had - to add extra informations to doc/libxml2-api.xml to separate + to add extra information to doc/libxml2-api.xml to separate the header from the c module source. * *.c: updated all c library files to add a #define bottom_xxx and reimport elfgcchack.h thereafter, and a bit of cleanups. @@ -4955,9 +4955,9 @@ Fri Jan 28 18:37:18 CET 2005 Daniel Veillard <daniel@veillard.com> Fri Jan 28 16:51:47 CET 2005 Kasimier Buchcik <libxml2-cvs@cazic.net> - * xmlschemas.c: Corrected an ambigious symbol-space for + * xmlschemas.c: Corrected an ambiguous symbol-space for local attribute declarations. IFDEFed more IDC code to - surpress compiler warnings. + suppress compiler warnings. Fri Jan 28 00:57:04 CET 2005 Daniel Veillard <daniel@veillard.com> @@ -4978,9 +4978,9 @@ Thu Jan 27 13:39:04 CET 2005 Kasimier Buchcik <libxml2-cvs@cazic.net> Added an initial skeleton for indentity-constraints. This is all defined out, since not complete, plus it needs support from other modules. - Added machanism to store element information for the + Added mechanism to store element information for the ancestor-or-self axis; this is needed for identity-constraints - and should be helpfull for a future streamable validation. + and should be helpful for a future streamable validation. * include/libxml/xmlerror.h: Added an error code for identity-constraints. @@ -5028,7 +5028,7 @@ Sun Jan 23 21:14:20 CET 2005 Daniel Veillard <daniel@veillard.com> Sun Jan 23 18:35:00 CET 2005 Daniel Veillard <daniel@veillard.com> - * parser.c: boosting common commnent parsing code, it was really + * parser.c: boosting common comment parsing code, it was really slow. * test/comment[3-5].xml result//comment[3-5].xml*: added sprecific regression tests @@ -5179,7 +5179,7 @@ Sat Jan 8 23:04:10 CET 2005 Daniel Veillard <daniel@veillard.com> Fri Jan 7 14:54:51 CET 2005 Daniel Veillard <daniel@veillard.com> * TODO: small update - * xmlregexp.c: trying to add an API to get useful error informations + * xmlregexp.c: trying to add an API to get useful error information back from a failing regexp context. Thu Jan 6 17:35:41 HKT 2005 William Brack <wbrack@mmm.com.hk> @@ -5280,7 +5280,7 @@ Sat Dec 25 18:10:02 HKT 2004 William Brack <wbrack@mmm.com.hk> Fri Dec 24 16:31:22 HKT 2004 William Brack <wbrack@mmm.com.hk> - * python/generator.py: added most required entires to + * python/generator.py: added most required entries to foreign encoding table, plus some additional logic to assure only the 1st param uses the 't#' format. Fixes bug #152286, but may still have some other UTF-16 problems. @@ -5360,7 +5360,7 @@ Fri Nov 26 13:09:04 CET 2004 Kasimier Buchcik <libxml2-cvs@cazic.net> of elements for which a declaration existed were still processed by the wildcard mechanism (reported by philippe ventrillon to the mailing list). - Changed the import and include machanism to share dictionaries. + Changed the import and include mechanism to share dictionaries. Fri Nov 26 11:44:36 CET 2004 Daniel Veillard <daniel@veillard.com> @@ -5639,8 +5639,8 @@ Tue Nov 2 15:49:34 CET 2004 Daniel Veillard <daniel@veillard.com> automatic API regression test tool. * SAX2.c nanoftp.c parser.c parserInternals.c tree.c xmlIO.c xmlstring.c: various API hardeing changes as a result of running - teh first set of automatic API regression tests. - * test/slashdot16.xml: apparently missing from CVS, commited it + the first set of automatic API regression tests. + * test/slashdot16.xml: apparently missing from CVS, committed it Mon Nov 1 15:54:18 CET 2004 Daniel Veillard <daniel@veillard.com> @@ -5729,7 +5729,7 @@ Fri Oct 22 15:20:23 CEST 2004 Daniel Veillard <daniel@veillard.com> Fri Oct 22 21:04:20 CEST 2004 Daniel Veillard <daniel@veillard.com> - * python/libxml.c: fixed a problem occuring only in x86_64 when + * python/libxml.c: fixed a problem occurring only in x86_64 when very large error messages are raised to the Python handlers. Thu Oct 21 18:03:21 CEST 2004 Daniel Veillard <daniel@veillard.com> @@ -5867,7 +5867,7 @@ Wed Sep 29 15:00:11 CEST 2004 Kasimier Buchcik <libxml2-cvs@cazic.net> model group "all". * test/schemas/bug152470_1.xsd: Removed an "abstract" attribute, which broke the test. - * xstc/xstc.py: Workaround to accomodate case insensitive + * xstc/xstc.py: Workaround to accommodate case insensitive test definitions in ms-test.def.xml (was missing in a previous commit). @@ -5908,7 +5908,7 @@ Fri Sep 24 16:14:12 CEST 2004 Daniel Veillard <daniel@veillard.com> Thu Sep 23 18:23:46 CEST 2004 Daniel Veillard <daniel@veillard.com> - * xmlschemastypes.c: fixing an out of bound adressing issue + * xmlschemastypes.c: fixing an out of bound addressing issue Thu Sep 23 15:14:12 CEST 2004 Daniel Veillard <daniel@veillard.com> @@ -5961,7 +5961,7 @@ Thu Sep 16 13:24:27 CEST 2004 Kasimier Buchcik <libxml2-cvs@cazic.net> * xmlschemas.c include/libxml/schemasInternals.h test/schemas/bug152470_1.* result/schemas/bug152470_1_1*: - Simpified attribute wildcard creation and assignment to get rid + Simplified attribute wildcard creation and assignment to get rid of memory leaks. Restructured the validation process. Restructured and expanded parsing of <attributeGroup>. @@ -5978,7 +5978,7 @@ Thu Sep 16 13:24:27 CEST 2004 Kasimier Buchcik <libxml2-cvs@cazic.net> 'anyType' using the short-hand form (see bug # 152470, submitted by Thilo Jeremias). * include/libxml/xmlschematypes.h: Cleaned up some comments. - * xstc/xstc.py: Workaround to accomodate case insensitive + * xstc/xstc.py: Workaround to accommodate case insensitive test definitions in ms-test.def.xml. * result/schemas/deter0_0_0.err result/schemas/ns0_0_2.err result/schemas/ns0_1_2.err: Adapted. @@ -6069,7 +6069,7 @@ Fri Sep 3 20:29:59 CEST 2004 Kasimier Buchcik <libxml2-cvs@cazic.net> of the wildcard. Added a check for circular attribute group references. Added a check for circular model group definition references. - Fixed a dublicate xmlParserErrors enum value - see bug #151738. + Fixed a duplicate xmlParserErrors enum value - see bug #151738. Fri Sep 3 10:08:13 PDT 2004 William Brack <wbrack@mmmm.com.hk> @@ -6275,7 +6275,7 @@ Mon Aug 16 02:42:30 CEST 2004 Daniel Veillard <daniel@veillard.com> include/libxml/xmlerror.h: cleanup to avoid 'error' identifier in includes #137414 * parser.c SAX2.c debugXML.c include/libxml/parser.h: - first version of the inplementation of parsing within + first version of the implementation of parsing within the context of a node in the tree #142359, new function xmlParseInNodeContext(), added support at the xmllint --shell level as the "set" function @@ -6321,7 +6321,7 @@ Sat Aug 14 13:18:57 CEST 2004 Daniel Veillard <daniel@veillard.com> to document xmlSchemasSetValidErrors() limitations, #141827 * error.c: Add information in generic and structured error setter functions that this need to be done per thread #144308 - * xmlsave.c: fixed bug whith missing NOTATION(s) serialization + * xmlsave.c: fixed bug with missing NOTATION(s) serialization bug #144162 * doc/xmllint.xml: typo fix #144840 @@ -6691,7 +6691,7 @@ Tue Jun 8 21:27:03 HKT 2004 William Brack <wbrack@mmm.com.hk> Tue Jun 8 14:01:14 CEST 2004 Daniel Veillard <daniel@veillard.com> * parser.c xmlreader.c include/libxml/parser.h: fixed a serious - problem when substituing entities using the Reader, the entities + problem when substituting entities using the Reader, the entities content might be freed and if rereferenced would crash * Makefile.am test/* result/*: added a new test case and a new test operation for the reader with substitution of entities. @@ -6847,7 +6847,7 @@ Sun May 16 03:06:31 CEST 2004 Daniel Veillard <daniel@veillard.com> Sat May 15 20:14:21 CEST 2004 Daniel Veillard <daniel@veillard.com> * doc/ChangeLog.awk doc/ChangeLog.xsl: first steps of a good - ChangeLog page generation. The awk shoudl escape characters + ChangeLog page generation. The awk should escape characters not okay in XML and the xslt should make links to functions or variables or bug reported in the entries. @@ -6938,7 +6938,7 @@ Sun May 9 20:40:59 CEST 2004 Daniel Veillard <daniel@veillard.com> Sun May 9 19:46:13 CEST 2004 Daniel Veillard <daniel@veillard.com> - * xmlsave.c: apply fix for XHTML1 formating from Nick Wellnhofer + * xmlsave.c: apply fix for XHTML1 formatting from Nick Wellnhofer fixes bug #141266 * test/xhtmlcomp result//xhtmlcomp*: added the specific regression test @@ -7049,7 +7049,7 @@ Sun Apr 18 23:45:46 CEST 2004 Daniel Veillard <daniel@veillard.com> Sun Apr 18 22:51:43 CEST 2004 Daniel Veillard <daniel@veillard.com> - * xpath.c: relaxed id() to not check taht the name(s) passed + * xpath.c: relaxed id() to not check that the name(s) passed are actually NCName, decided this in agreement with Aleksey Sanin since existing specs like Visa3D broke that conformance checking and other tools seems to not implement it sigh... @@ -7062,7 +7062,7 @@ Sun Apr 18 21:46:17 CEST 2004 Daniel Veillard <daniel@veillard.com> * xpath.c: work around Microsoft compiler NaN bug raise reported by Mark Vakoc * xmlschemas.c include/libxml/schemasInternals.h - include/libxml/xmlerror.h: fixed a recusive extention schemas + include/libxml/xmlerror.h: fixed a recursive extension schemas compilation error raised by taihei goi Sun Apr 18 16:57:02 CEST 2004 Daniel Veillard <daniel@veillard.com> @@ -7228,7 +7228,7 @@ Tue Mar 23 12:35:08 CET 2004 Daniel Veillard <daniel@veillard.com> * configure.in doc/* News: preparing 2.6.8 release, updated and rebuilt the docs. - * Makefile.am: use valgring fro the new Python based regression tests + * Makefile.am: use valgring for the new Python based regression tests Mon Mar 22 20:07:27 CET 2004 Daniel Veillard <daniel@veillard.com> @@ -7292,7 +7292,7 @@ Wed Mar 10 17:22:48 CET 2004 Daniel Veillard <daniel@veillard.com> Wed Mar 10 19:42:22 HKT 2004 William Brack <wbrack@mmm.com.hk> - * doc/search.php: Minor change for later verson of php requiring + * doc/search.php: Minor change for later version of php requiring $HTTP_GET_VARS. Wed Mar 10 00:12:31 HKT 2004 William Brack <wbrack@mmm.com.hk> @@ -7361,8 +7361,8 @@ Thu Mar 4 15:00:45 CET 2004 Daniel Veillard <daniel@veillard.com> Thu Mar 4 14:39:38 CET 2004 Daniel Veillard <daniel@veillard.com> - * Makefile.am tree.c xmlsave.c include/libxml/xmlsave.h: commiting - the new xmlsave module before the actuall big code change. + * Makefile.am tree.c xmlsave.c include/libxml/xmlsave.h: committing + the new xmlsave module before the actual big code change. Thu Mar 4 12:38:53 CET 2004 Daniel Veillard <daniel@veillard.com> @@ -7753,7 +7753,7 @@ Fri Jan 23 14:03:21 CET 2004 Daniel Veillard <daniel@veillard.com> This is needed for XSLT to keep the stylesheet dictionary read-only while being able to reuse the strings for the transformation dictionary. - * xinclude.c: fixed a dictionary reference counting problem occuring + * xinclude.c: fixed a dictionary reference counting problem occurring when document parsing failed. * testSAX.c: adding option --repeat for timing 100times the parsing * doc/* : rebuilt all the docs @@ -7872,7 +7872,7 @@ Mon Jan 5 20:47:07 MST 2004 John Fleck <jfleck@inkstain.net> Tue Jan 6 00:10:33 CET 2004 Daniel Veillard <daniel@veillard.com> - * rngparser.c: commiting the compact relax ng parser. It's not + * rngparser.c: committing the compact relax ng parser. It's not completely finished, it's not integrated but I want to save the current state @@ -8026,7 +8026,7 @@ Wed Dec 24 00:29:30 CET 2003 Daniel Veillard <daniel@veillard.com> Tue Dec 23 15:14:37 HKT 2003 William Brack <wbrack@mmm.com.hk> * valid.c: fixed bug concerning validation using external - dtd of element with mutiple namespace declarations + dtd of element with multiple namespace declarations (Bug 129821) Tue Dec 23 11:41:42 HKT 2003 William Brack <wbrack@mmm.com.hk> @@ -8407,7 +8407,7 @@ Thu Nov 20 12:54:30 CET 2003 Daniel Veillard <daniel@veillard.com> * doc/examples/*: added his test as the xmlWriter example * doc/html/ doc/*.html: this resulted in some improvements * include/libxml/hash.h: fixed an inclusion problem when - <libxml/hash.h> wasn't preceeded by <xml/parser.h> + <libxml/hash.h> wasn't preceded by <xml/parser.h> Wed Nov 19 17:19:35 CET 2003 Daniel Veillard <daniel@veillard.com> @@ -8430,7 +8430,7 @@ Wed Nov 19 00:48:56 CET 2003 Daniel Veillard <daniel@veillard.com> Tue Nov 18 21:51:15 CET 2003 Daniel Veillard <daniel@veillard.com> * include/libxml/*.h include/libxml/*.h.in: modified the file - header to add more informations, painful... + header to add more information, painful... * genChRanges.py genUnicode.py: updated to generate said changes in headers * doc/apibuild.py: extract headers, add them to libxml2-api.xml @@ -8572,7 +8572,7 @@ Wed Nov 12 01:38:16 CET 2003 Daniel Veillard <daniel@veillard.com> added autogeneration of a web page for the examples * doc/examples/example1.c doc/examples/.cvsignore doc/examples/examples.xml doc/examples/index.py: updated the - informations extracted, improved the format and indexing. + information extracted, improved the format and indexing. Tue Nov 11 22:08:59 CET 2003 Daniel Veillard <daniel@veillard.com> @@ -8774,7 +8774,7 @@ Tue Oct 28 16:42:16 CET 2003 Daniel Veillard <daniel@veillard.com> * error.c valid.c include/libxml/xmlerror.h: fixing bug #125653 sometimes the error handlers can get a parser context on DTD errors, and sometime they don't. So be very careful when trying - to grab those informations. + to grab those information. Tue Oct 28 15:26:18 CET 2003 Daniel Veillard <daniel@veillard.com> @@ -8884,7 +8884,7 @@ Mon Oct 20 19:02:53 CEST 2003 Daniel Veillard <daniel@veillard.com> * python/tests/Makefile.am python/tests/reader7.py python/tests/walker.py: adding regression testing for the new xmlreader APIs, new APIs for reader creation, including - makeing reader "walker" operating on preparsed document trees. + making reader "walker" operating on preparsed document trees. Sun Oct 20 22:37:03 HKT 2003 William Brack <wbrack@mmm.com.hk> @@ -8947,7 +8947,7 @@ Sun Oct 19 00:15:38 HKT 2003 William Brack <wbrack@mmm.com.hk> * include/libxml/parserInternals.h HTMLparser.c HTMLtree.c SAX2.c catalog.c debugXML.c entities.c parser.c relaxng.c testSAX.c tree.c valid.c xmlschemas.c xmlschemastypes.c - xpath.c: Changed all (?) occurences where validation macros + xpath.c: Changed all (?) occurrences where validation macros (IS_xxx) had single-byte arguments to use IS_xxx_CH instead (e.g. IS_BLANK changed to IS_BLANK_CH). This gets rid of many warning messages on certain platforms, and also high- @@ -8972,7 +8972,7 @@ Sat Oct 18 11:04:32 CEST 2003 Daniel Veillard <daniel@veillard.com> a new source, like the xmlReadxx and xmlCtxtReadxxx * win32/libxml2.def.src doc/libxml2-api.xml doc/apibuild.py doc/Makefile.am: regenerated the APIs - * doc/xml.html: applied a patch from Stefan Kost for namesapce docs + * doc/xml.html: applied a patch from Stefan Kost for namespace docs Sat Oct 18 12:46:02 HKT 2003 William Brack <wbrack@mmm.com.hk> @@ -9084,7 +9084,7 @@ Fri Oct 10 16:45:20 CEST 2003 Daniel Veillard <daniel@veillard.com> Fri Oct 10 16:19:17 CEST 2003 Daniel Veillard <daniel@veillard.com> * include/libxml/tree.h: make room in Doc, Element, Attributes - for PSVI type informations. + for PSVI type information. Fri Oct 10 16:08:02 CEST 2003 Daniel Veillard <daniel@veillard.com> @@ -9179,7 +9179,7 @@ Tue Oct 7 23:19:39 CEST 2003 Daniel Veillard <daniel@veillard.com> on Windows from Jesse Pelton * parser.c: tiny safety patch for xmlStrPrintf() make sure the return is always zero terminated. Should also help detecting - passing wrong buffer size easilly. + passing wrong buffer size easily. * result/VC/* result/valid/rss.xml.err result/valid/xlink.xml.err: updated the results to follow the errors string generated by last commit. @@ -9192,7 +9192,7 @@ Tue Oct 7 14:16:45 CEST 2003 Daniel Veillard <daniel@veillard.com> Tue Oct 7 13:30:39 CEST 2003 Daniel Veillard <daniel@veillard.com> * error.c relaxng.c include/libxml/xmlerror.h: switched Relax-NG - module to teh new error reporting. Better default report, adds + module to the new error reporting. Better default report, adds the element associated if found, context and node are included in the xmlError * python/tests/reader2.py: the error messages changed. @@ -9251,7 +9251,7 @@ Fri Oct 3 00:19:02 CEST 2003 Daniel Veillard <daniel@veillard.com> scrolling to see where thing broke wasn't pleasant * configure.in: some beta4 preparation, but not ready yet * error.c globals.c include/libxml/globals.h include/libxml/xmlerror.h: - new error handling code, last error informations are stored + new error handling code, last error information are stored in the parsing context or a global variable, new APIs to handle the xmlErrorPtr type. * parser.c parserInternals.c valid.c : started migrating to the @@ -9261,7 +9261,7 @@ Fri Oct 3 00:19:02 CEST 2003 Daniel Veillard <daniel@veillard.com> * parser.c: small potential buffer access problem in push code provided by Justin Fletcher * result/*.sax result/VC/PENesting* result/namespaces/* - result/valid/*.err: some error messages were sligthly changed. + result/valid/*.err: some error messages were slightly changed. Thu Oct 2 13:01:13 2003 Aleksey Sanin <aleksey@aleksey.com> @@ -9369,7 +9369,7 @@ Sun Sep 28 02:15:07 CEST 2003 Daniel Veillard <daniel@veillard.com> * include/libxml/SAX.h include/libxml/parser.h: move the SAXv1 block definitions to parser.h fixes bug #123380 * xmlreader.c include/libxml/xmlreader.h: reinstanciate - the attribute and element pool borken 2 commits ago. + the attribute and element pool broken 2 commits ago. Start playing with an entry point to preserve a subtree. * entities.c: remove a warning. @@ -9436,7 +9436,7 @@ Thu Sep 25 16:23:58 CEST 2003 Daniel Veillard <daniel@veillard.com> include/libxml/globals.h include/libxml/SAX.h: make sure the global variables for the default SAX handler are V1 ones to avoid ABI compat problems. - * xmlreader.c: cleanup of uneeded code + * xmlreader.c: cleanup of unneeded code * hash.c: fix a comment Thu Sep 25 14:16:51 CEST 2003 Daniel Veillard <daniel@veillard.com> @@ -9734,7 +9734,7 @@ Sun Sep 7 11:11:45 CEST 2003 Daniel Veillard <daniel@veillard.com> * dict.c: allow to give -1 for undefined length in lookups * include/libxml/parser.h parser.c parserInternals.c testSAX.c: first round of work on the new SAX2 interfaces, the API - will change but commiting before changing for historical + will change but committing before changing for historical reference. Sat Sep 6 10:55:01 PTD 2003 William Brack <wbrack@mmm.com.hk> @@ -10091,7 +10091,7 @@ Thu Aug 7 21:13:22 HKT 2003 William Brack <wbrack@mmm.com.hk> Wed Aug 6 12:32:11 HKT 2003 William Brack <wbrack@mmm.com.hk> * error.c trionan.[ch] testThreads.c python/generator.py: - further small changes to elminate most of the remaining + further small changes to eliminate most of the remaining warnings. Tue Aug 5 23:51:21 HKT 2003 William Brack <wbrack@mmm.com.hk> @@ -10130,7 +10130,7 @@ Sun Aug 3 21:02:30 EDT 2003 Daniel Veillard <daniel@veillard.com> * valid.c: fixed another problem with namespaces on element in mixed content case * python/tests/reader2.py: updated the testcase with - Bjorn Reese fix to reader for unsignificant white space + Bjorn Reese fix to reader for insignificant white space * parser.c HTMLparser.c: cleanup. Sun Aug 3 20:55:40 EDT 2003 Daniel Veillard <daniel@veillard.com> @@ -10151,7 +10151,7 @@ Sun Aug 3 18:56:54 EDT 2003 Daniel Veillard <daniel@veillard.com> Fri Aug 1 23:55:23 HKT 2003 William Brack <wbrack@mmm.com.hk> Coninuing work on bug 118559 - * DOCBparser.c: removed 2 unsed vars + * DOCBparser.c: removed 2 unused vars * xmlregexp.c: changed some numeric const to their enum symbols * xmlreader.c: changed one var define from int to enum (a little more to be done, awaiting co-ordination) @@ -10318,7 +10318,7 @@ Thu Jul 10 16:02:47 CEST 2003 Daniel Veillard <daniel@veillard.com> Tue Jul 8 16:02:19 CEST 2003 Daniel Veillard <daniel@veillard.com> - * globals.c threads.c: fixes some problem when freeing unititialized + * globals.c threads.c: fixes some problem when freeing uninitialized mutexes Tue Jul 8 14:15:07 CEST 2003 Daniel Veillard <daniel@veillard.com> @@ -10373,7 +10373,7 @@ Sat Jul 5 22:30:25 CEST 2003 Daniel Veillard <daniel@veillard.com> Sat Jul 5 00:51:30 HKT 2003 William Brack <wbrack@mmm.com.hk> Fixed problem with multi-threading, shown by the test program - testThreads. After fix, ran mutiple tests on various speed + testThreads. After fix, ran multiple tests on various speed machines (single and dual processor X86), which all seem okay. * catalog.c: added missing xmlRMutexUnlock in xmlLoadCatalog @@ -10424,7 +10424,7 @@ Fri Jun 13 14:27:19 CEST 2003 Daniel Veillard <daniel@veillard.com> * doc/Makefile.am doc/html/*: reverted back patch for #113521, due to #115104 and while fixing #115101 . HTML URLs must not - be version dependant. + be version dependent. Fri Jun 13 12:03:30 CEST 2003 Daniel Veillard <daniel@veillard.com> @@ -10451,7 +10451,7 @@ Thu Jun 5 11:31:02 CEST 2003 Daniel Veillard <daniel@veillard.com> Mon Jun 2 21:56:15 MVT 2003 Daniel Veillard <daniel@veillard.com> - * relaxng.c xmlschemas.c include/libxml/schemasInternals.h: commiting + * relaxng.c xmlschemas.c include/libxml/schemasInternals.h: committing some work done while in the Maldives (hence the timezone on the laptop !) * result/schemas/length3* test/schemas/deter0_* @@ -10627,7 +10627,7 @@ Sat Apr 26 14:00:58 CEST 2003 Daniel Veillard <daniel@veillard.com> * python/generator.py: fixed a problem in the generator where the way functions are remapped as methods on classes was - not symetric and dependant on python internal hash order, + not symmetric and dependent on python internal hash order, as reported by Stéphane Bidoul Fri Apr 25 21:52:33 MDT 2003 John Fleck <jfleck@inkstain.net> @@ -11162,7 +11162,7 @@ Tue Mar 18 01:28:15 CET 2003 Daniel Veillard <daniel@veillard.com> Mon Mar 17 16:34:07 CET 2003 Daniel Veillard <daniel@veillard.com> * relaxng.c: fixed the last core RelaxNG bug known #107083, - shemas datatype ID/IDREF support still missing though. + schemas datatype ID/IDREF support still missing though. * xmlreader.c: fix a crashing bug with prefix raised by Merijn Broeren * test/relaxng/testsuite.xml: augmented the testsuite with @@ -11398,7 +11398,7 @@ Wed Feb 19 14:26:51 CET 2003 Daniel Veillard <daniel@veillard.com> Wed Feb 19 01:17:48 CET 2003 Daniel Veillard <daniel@veillard.com> - * relaxng.c: guess what ! Relax-NG bugfixing, what a surprize... + * relaxng.c: guess what ! Relax-NG bugfixing, what a surprise... Tue Feb 18 22:09:50 CET 2003 Daniel Veillard <daniel@veillard.com> @@ -11882,7 +11882,7 @@ Fri Jan 10 13:47:55 CET 2003 Daniel Veillard <daniel@veillard.com> Fri Jan 10 00:16:49 CET 2003 Daniel Veillard <daniel@veillard.com> - * parser.c: one more IsEmptyElement crazyness, that time in + * parser.c: one more IsEmptyElement craziness, that time in external parsed entities if substitution is asked. * python/tests/reader3.py: added a specific test. @@ -11929,10 +11929,10 @@ Mon Jan 6 14:06:07 CET 2003 Daniel Veillard <daniel@veillard.com> * configure.in NEWS: preparing 2.5.0 release * SAX.c: only warn in pedantic mode about namespace name - brokeness + brokenness * globals.c: fix a doc generation problem * uri.c: fix #101520 - * doc/*: updated and rebuilt the doc for the release, includuding + * doc/*: updated and rebuilt the doc for the release, including stylesheet update * python/Makefile.am: fix a filename bug @@ -12092,7 +12092,7 @@ Sun Dec 29 12:13:18 CET 2002 Daniel Veillard <daniel@veillard.com> Sat Dec 28 23:49:12 CET 2002 Daniel Veillard <daniel@veillard.com> * xmlreader.c include/libxml/xmlreader.h doc/libxml2-api.xml: - extended the XmlTextReader API a bit, addding accessors for + extended the XmlTextReader API a bit, adding accessors for the current doc and node, and an entity substitution mode for the parser. * python/libxml.py python/libxml2class.txt: related updates @@ -12145,7 +12145,7 @@ Wed Dec 25 19:22:06 MST 2002 John Fleck <jfleck@inkstain.net> Mon Dec 23 16:54:22 CET 2002 Daniel Veillard <daniel@veillard.com> * xmlreader.c: Fixed the empty node detection to avoid reporting - an inexistant close tag. + an nonexistent close tag. Mon Dec 23 15:42:24 CET 2002 Daniel Veillard <daniel@veillard.com> @@ -12479,10 +12479,10 @@ Sun Nov 17 10:25:43 CET 2002 Daniel Veillard <daniel@veillard.com> Sat Nov 16 16:30:25 CET 2002 Daniel Veillard <daniel@veillard.com> - * parser.c xpath.c: fixing #96925 wich was also dependent on the + * parser.c xpath.c: fixing #96925 which was also dependent on the processing of parsed entities, and XPath computation on sustitued entities. - * testXPath.c: make sure entities are substitued. + * testXPath.c: make sure entities are substituted. Fri Nov 15 16:22:54 CET 2002 Daniel Veillard <daniel@veillard.com> @@ -12673,7 +12673,7 @@ Tue Oct 22 16:23:57 CEST 2002 Daniel Veillard <daniel@veillard.com> Mon Oct 21 09:57:10 CEST 2002 Daniel Veillard <daniel@veillard.com> * parser.c: tried to fix bug #91500 where doc->children may - be overriden by a call to xmlParseBalancedChunkMemory() + be overridden by a call to xmlParseBalancedChunkMemory() Mon Oct 21 09:04:32 CEST 2002 Daniel Veillard <daniel@veillard.com> @@ -12715,7 +12715,7 @@ Wed Oct 16 16:05:38 CEST 2002 Daniel Veillard <daniel@veillard.com> Tue Oct 15 12:41:01 CEST 2002 Daniel Veillard <daniel@veillard.com> - * README: updated the contact informations + * README: updated the contact information Tue Oct 15 10:35:57 CEST 2002 Daniel Veillard <daniel@veillard.com> @@ -12800,7 +12800,7 @@ Thu Sep 26 19:48:06 CEST 2002 Daniel Veillard <daniel@veillard.com> * configure.in include/libxml/xmlwin32version.h: preparing release of 2.4.25 - * doc/*: updated and regenerated teh docs and web pages. + * doc/*: updated and regenerated the docs and web pages. Thu Sep 26 17:33:46 CEST 2002 Daniel Veillard <daniel@veillard.com> @@ -13009,7 +13009,7 @@ Thu Sep 5 13:10:57 CEST 2002 Daniel Veillard <daniel@veillard.com> Thu Sep 5 12:57:38 CEST 2002 Daniel Veillard <daniel@veillard.com> - * valid.c: try to provide file and line informations, not all + * valid.c: try to provide file and line information, not all messages are covered, but it's a (good) start Thu Sep 5 12:49:35 CEST 2002 Daniel Veillard <daniel@veillard.com> @@ -13026,7 +13026,7 @@ Thu Sep 5 10:07:13 CEST 2002 Daniel Veillard <daniel@veillard.com> Wed Sep 4 14:13:34 CEST 2002 Daniel Veillard <daniel@veillard.com> - * libxml.spec.in: fixes libary path for x86_64 AMD + * libxml.spec.in: fixes library path for x86_64 AMD Tue Sep 3 21:14:19 MDT 2002 John Fleck <jfleck@inkstain.net> @@ -13060,7 +13060,7 @@ Wed Aug 28 13:44:54 CEST 2002 Daniel Veillard <daniel@veillard.com> Sun Aug 25 16:38:05 CEST 2002 Daniel Veillard <daniel@veillard.com> - * xmlIO.c: handle Windows sepecific file://localhost/ semantic ... + * xmlIO.c: handle Windows specific file://localhost/ semantic ... Thu Aug 22 22:03:19 CEST 2002 Daniel Veillard <daniel@veillard.com> @@ -13085,7 +13085,7 @@ Thu Aug 22 16:19:42 CEST 2002 Daniel Veillard <daniel@veillard.com> Thu Aug 22 11:45:50 CEST 2002 Daniel Veillard <daniel@veillard.com> * python/Makefile.am: typo in target name resulted in libxml2.py - to not be rebuilt. fixed DESTDIR similary to the libxslt one. + to not be rebuilt. fixed DESTDIR similarly to the libxslt one. Thu Aug 22 09:15:00 CEST 2002 Daniel Veillard <daniel@veillard.com> @@ -13394,7 +13394,7 @@ Mon Jun 03 00:04:21 2002 Chema Celorio <chema@ximian.com> * tree.h: added xmlDocFormatDump which is just as xmlDocDump but with the format parameter - * tree.c: made xmlDocDump a wrapper arround xmlDocFormatDump + * tree.c: made xmlDocDump a wrapper around xmlDocFormatDump Fri May 31 12:16:48 2002 Aleksey Sanin <aleksey@aleksey.com> @@ -13499,13 +13499,13 @@ Wed May 15 00:25:34 CEST 2002 Igor Zlatkovic <igor@stud.fh-frankfurt.de> Tue May 14 13:00:48 CEST 2002 Daniel Veillard <daniel@veillard.com> - * xpath.c: fixing an XPath function evalutation bug pointed out + * xpath.c: fixing an XPath function evaluation bug pointed out by Alexey Efimov where the context was lost when evaluating the function arguments Mon 13 May 2002 11:37:39 PM PDT Aleksey Sanin <aleksey@aleksey.com> - * xpath.c include/libxml/xpathInternals.h: maked xmlXPathNodeSetAddNs() + * xpath.c include/libxml/xpathInternals.h: made xmlXPathNodeSetAddNs() function public for XMLSec performance optimizations Mon May 13 12:32:22 CEST 2002 Daniel Veillard <daniel@veillard.com> @@ -13542,7 +13542,7 @@ Wed 01 May 2002 11:29:27 AM PDT Aleksey Sanin <aleksey@aleksey.com> * include/libxml/xmlIO.h win32/dsp/libxml2.def.src win32/libxml2.def.src xmlIO.c: exported default 'file:', 'http:' and 'ftp:' protocols input handlers - and maked protocols comparisson case insensitive + and made protocols comparison case insensitive Tue Apr 30 16:29:05 CEST 2002 Daniel Veillard <daniel@veillard.com> @@ -13999,7 +13999,7 @@ Mon Mar 11 10:10:30 CET 2002 Daniel Veillard <daniel@veillard.com> Sun Mar 10 17:47:58 CET 2002 Daniel Veillard <daniel@veillard.com> * valid.c: applied patch from Dodji Seketeli fixing an - uninitailized variable in xmlValidGetValidElements() + uninitialized variable in xmlValidGetValidElements() Sat Mar 9 15:10:49 CET 2002 Daniel Veillard <daniel@veillard.com> @@ -14044,7 +14044,7 @@ Thu Mar 7 16:11:35 CET 2002 Daniel Veillard <daniel@veillard.com> Thu Mar 7 12:19:36 CET 2002 Daniel Veillard <daniel@veillard.com> * configure.in xmllint.c: trying to fix #71457 for timing - precision when gettimeofday() is not availble but ftime() is + precision when gettimeofday() is not available but ftime() is Thu Mar 7 11:24:02 CET 2002 Daniel Veillard <daniel@veillard.com> @@ -14139,12 +14139,12 @@ Fri Mar 1 17:12:15 CET 2002 Daniel Veillard <daniel@veillard.com> Fri Mar 1 13:56:12 CET 2002 Daniel Veillard <daniel@veillard.com> - * python/*: commiting some Python bindings work done while travelling + * python/*: committing some Python bindings work done while travelling Fri Mar 1 10:11:15 CET 2002 Daniel Veillard <daniel@veillard.com> * xmllint.c: close #72663 and #72658, don't memdump unless compiled - explicitely with memory debugging switched on + explicitly with memory debugging switched on Sat Feb 23 11:08:09 CET 2002 Daniel Veillard <daniel@veillard.com> @@ -14208,7 +14208,7 @@ Tue Feb 19 22:01:35 CET 2002 Daniel Veillard <daniel@veillard.com> when a document is standalone seems correctly handled. There is a couple of open issues left which need consideration especially PE93 on external unparsed entities and standalone status. - Ran 1819 tests: 1817 suceeded, 2 failed and 0 generated an error in 8.26 s. + Ran 1819 tests: 1817 succeeded, 2 failed and 0 generated an error in 8.26 s. The 2 tests left failing are actually in error. Cleanup done. Tue Feb 19 15:17:02 CET 2002 Daniel Veillard <daniel@veillard.com> @@ -14225,7 +14225,7 @@ Mon Feb 18 23:25:08 CET 2002 Daniel Veillard <daniel@veillard.com> * parser.c valid.c: a couple of errors were reported but not saved back as such in the parsing context. Down to 1% failure rate - Ran 1819 tests: 1801 suceeded, 18 failed and 0 generated an error + Ran 1819 tests: 1801 succeeded, 18 failed and 0 generated an error Mon Feb 18 20:16:15 CET 2002 Daniel Veillard <daniel@veillard.com> @@ -14266,7 +14266,7 @@ Sun Feb 17 23:45:40 CET 2002 Daniel Veillard <daniel@veillard.com> * check-xml-test-suite.py: improved the behaviour a bit as well as the logs * parser.c valid.c SAX.c: fixed a few more bugs - "Ran 1819 tests: 1778 suceeded, 41 failed, and 0 generated an error" + "Ran 1819 tests: 1778 succeeded, 41 failed, and 0 generated an error" Sun Feb 17 20:41:37 CET 2002 Daniel Veillard <daniel@veillard.com> @@ -14453,7 +14453,7 @@ Sun Feb 3 17:50:46 CET 2002 Daniel Veillard <daniel@veillard.com> context, allow to switch on and check validity * python/tests/Makefile.am python/tests/error.py python/tests/invalid.xml python/tests/valid.xml - python/tests/validate.py: attded more test and and added error.py + python/tests/validate.py: added more test and added error.py which I forgot to commit in the last step Sun Feb 3 16:03:55 CET 2002 Daniel Veillard <daniel@veillard.com> @@ -14496,7 +14496,7 @@ Sat Feb 2 11:25:51 CET 2002 Daniel Veillard <daniel@veillard.com> Sat Feb 2 10:13:52 CET 2002 Daniel Veillard <daniel@veillard.com> * configure.in libxml.spec.in python/Makefile.am python/TODO - python/generator.py python/libxml2class.txt: added more informations + python/generator.py python/libxml2class.txt: added more information in the libxml2-python package including docs. Slightly changed the class hierarchy * python/tests/*: added basic regression tests infrastructure too @@ -14543,7 +14543,7 @@ Wed Jan 30 21:51:26 CET 2002 Daniel Veillard <daniel@veillard.com> Wed Jan 30 17:35:33 CET 2002 Daniel Veillard <daniel@veillard.com> * python/generator.py python/libxml.c python/libxml.py - python/libxml_wrap.h: commited early version of a python binding + python/libxml_wrap.h: committed early version of a python binding for private use only ATM Sat Jan 26 22:41:13 CET 2002 Daniel Veillard <daniel@veillard.com> @@ -14576,7 +14576,7 @@ Wed Jan 23 18:53:55 CET 2002 Daniel Veillard <daniel@veillard.com> Wed Jan 23 15:14:22 CET 2002 Daniel Veillard <daniel@veillard.com> * parserInternals.h: Greg Sjaardema suggested to use an - eponential buffer groth policy in xmlParserAddNodeInfo() + exponential buffer growth policy in xmlParserAddNodeInfo() Wed Jan 23 13:32:40 CET 2002 Daniel Veillard <daniel@veillard.com> @@ -14660,7 +14660,7 @@ Sat Jan 19 16:36:21 CET 2002 Bjorn Reese <breese@users.sourceforge.net> Fri Jan 18 17:22:50 CET 2002 Daniel Veillard <daniel@veillard.com> - * globals.c xmlIO.c xmlcatalog.c: removed the last occurences + * globals.c xmlIO.c xmlcatalog.c: removed the last occurrences of strdup usage in the code Fri Jan 18 12:47:15 CET 2002 Daniel Veillard <daniel@veillard.com> @@ -15441,7 +15441,7 @@ Thu Sep 20 15:54:29 CEST 2001 Daniel Veillard <daniel@veillard.com> Wed Sep 19 10:01:37 CEST 2001 Daniel Veillard <daniel@veillard.com> * Makefile.am libxml.spec.in: backing up non-documented changes - commited without review or aproval by Jens Finke <jens@gnome.org> + committed without review or approval by Jens Finke <jens@gnome.org> * HACKING: made 100% clear that no commit should be done directly Mon Sep 17 18:52:37 CEST 2001 Daniel Veillard <daniel@veillard.com> @@ -15488,7 +15488,7 @@ Wed Sep 12 16:58:16 CEST 2001 Daniel Veillard <daniel@veillard.com> Tue Sep 11 11:25:36 CEST 2001 Daniel Veillard <daniel@veillard.com> * parser.c result/noent/wml.xml: fixed bug #59981 related - to handling of '&' in attributes when entities are substitued + to handling of '&' in attributes when entities are substituted Mon Sep 10 22:14:42 CEST 2001 Daniel Veillard <daniel@veillard.com> @@ -15586,7 +15586,7 @@ Sat Aug 25 15:30:17 CEST 2001 Daniel Veillard <daniel@veillard.com> Thu Aug 23 23:16:32 CEST 2001 Daniel Veillard <daniel@veillard.com> * catalog.c xmlIO.c: started some serious testing and fixed - a few bug and optmization needs. + a few bug and optimization needs. Thu Aug 23 17:26:58 CEST 2001 Daniel Veillard <daniel@veillard.com> @@ -15874,7 +15874,7 @@ Tue Jul 24 15:39:11 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> this slightly * include/libxml/parser.h SAX.c parser.c parserInternals.c xmllint.c: make element content line number generation - optionnal to avoid breaking old apps added interface to switch + optional to avoid breaking old apps added interface to switch Tue Jul 24 15:06:58 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> @@ -16120,7 +16120,7 @@ Tue Jun 26 18:05:26 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> * configure.in doc/xml.html include/libxml/xmlwin32version.h: release of 2.3.12 - * parser.c: make an error message if unknow entities in all cases + * parser.c: make an error message if unknown entities in all cases Tue Jun 26 09:46:29 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> @@ -16543,7 +16543,7 @@ Sun May 20 15:15:46 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> Sat May 19 17:11:15 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> - * doc/xml.html: update with 2.3.9 informations + * doc/xml.html: update with 2.3.9 information Sat May 19 16:50:47 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> @@ -16738,7 +16738,7 @@ Sat Apr 28 18:54:28 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> Sat Apr 28 16:33:05 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> * xpath.c: simple and efficient optimization, XPath functions - aways bind to the same code, cache this + always bind to the same code, cache this * TODO: updated (by saying some is obsolete) Sat Apr 28 14:23:30 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> @@ -16943,7 +16943,7 @@ Wed Apr 18 17:09:15 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> Wed Apr 18 15:06:30 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> * debugXML.c hash.c tree.h valid.c : some changes related to - the validation suport to improve speed with DocBook + the validation support to improve speed with DocBook * result/VC/OneID2 result/VC/OneID3 : this slightly changes the way validation errors get reported @@ -16977,7 +16977,7 @@ Thu Apr 12 10:50:34 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> Wed Apr 11 16:37:50 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> * tree.h: include xmlmemory.h this seems to havoid a nasty glibc - bug where the linktime verions of free() won't work ... + bug where the linktime versions of free() won't work ... Wed Apr 11 14:21:31 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> @@ -17003,7 +17003,7 @@ Tue Apr 10 18:13:10 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> * xpath.c: trying to get 52979 solved * tree.c result/ result/noent/: trying to get 52712 solved, this also made me clean up the fact that XML output in general should - not add formating blanks by default, this changed the output of + not add formatting blanks by default, this changed the output of a few tests Tue Apr 10 16:30:20 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr> @@ -17219,7 +17219,7 @@ Wed Mar 7 20:43:47 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr> * parser.c SAX.c: the new content parsing code raised an ugly bug in the characters() SAX callback. Found it - just because of strangeness in XSLT XML Rec ouptut :-( + just because of strangeness in XSLT XML Rec output :-( Wed Mar 7 16:50:22 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr> @@ -17376,7 +17376,7 @@ Thu Feb 15 15:57:14 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr> Wed Feb 14 11:35:39 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr> * hash.[ch]: added Paolo Casarini patch to provide Delete from - hash functionnalities. + hash functionalities. * doc/html/* : rebuild the doc Tue Feb 13 18:01:48 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr> @@ -17514,7 +17514,7 @@ Thu Jan 25 13:34:11 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr> Wed Jan 24 20:27:28 COT 2001 Alejandro Forero <bachue@bachue.com> - * xmlIO.c (xmlFileOpen, xmlFileOpenW): Removed unnecesary checks. + * xmlIO.c (xmlFileOpen, xmlFileOpenW): Removed unnecessary checks. * xmlIO.c (xmlCheckFilename): Function added to know whether a given filename points to a valid file (not a directory). @@ -17541,17 +17541,17 @@ Mon Jan 22 16:30:37 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr> Mon Jan 22 11:43:21 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr> - * xpath.c: when copying a XSLT tree object teh tree need to be copied + * xpath.c: when copying a XSLT tree object the tree need to be copied too, and deallocation need to occur the same way. Mon Jan 22 10:35:40 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr> * xpathInternals.h xpath.[ch] debugXML.c: added the XPATH_XSLT_TREE - type correponding to an XSLT result tree fragment. Share most + type corresponding to an XSLT result tree fragment. Share most of the data format with node set, as well as operators. * HTMLtree.c: added a newline at the end of the doctype output whe this one is not present initially. - * tree.c: make sure taht the parent and doc pointers are properly + * tree.c: make sure that the parent and doc pointers are properly set when copying attributes (lists). Sun Jan 21 10:47:38 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr> @@ -17613,7 +17613,7 @@ Sat Jan 6 22:05:09 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr> Sat Jan 6 19:13:27 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr> - * Makefile.am: applied patch fro make check from Martin Vidner + * Makefile.am: applied patch for make check from Martin Vidner Thu Jan 4 19:07:49 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr> @@ -17667,7 +17667,7 @@ Wed Dec 27 12:35:49 CET 2000 Daniel Veillard <Daniel.Veillard@w3.org> of xmllint too when using --memory flag, added a memory test suite at the Makefile level. * xpathInternals.h xpath.[ch] xpointer.c: fixed problems - with namespace use when encountering QNames in XPath evalation, + with namespace use when encountering QNames in XPath evaluation, added xmlns() scheme in XPointer. * nanoftp.c : incorporated a fix * parser.c xmlIO.c: fixed problems raised with encoding when using @@ -17892,7 +17892,7 @@ Sun Oct 22 13:59:50 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org> * valid.c: handling of blank nodes in DTd validation (raised by problems with a posteriori validation). * nanohttp.c: changing behaviour on HTTP write stuff. - * HTMLtree.c: forced body and html to be explicitely closed. + * HTMLtree.c: forced body and html to be explicitly closed. * xpath.h: exported more XPath functions. Sun Oct 15 22:28:32 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org> @@ -17904,7 +17904,7 @@ Sun Oct 15 22:28:32 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org> Sun Oct 15 16:21:27 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org> * SAX.c: HTML attributes need normalization too (Bjorn Reese) - * HTMLparser.[ch]: addded htmlIsScriptAttribute() + * HTMLparser.[ch]: added htmlIsScriptAttribute() Sun Oct 15 13:18:36 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org> @@ -18010,7 +18010,7 @@ Wed Oct 11 02:53:10 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org> * include/Makefile.am include/win32config.h: new directory for includes * win32/Makefile.mingw win32/README.MSDev win32/libxml2/libxml2.dsp - updated teh makefiles and instructions for WIN32 + updated the makefiles and instructions for WIN32 * xpath.c: small fixes * test/XPath/ results/XPath: updated the testcases and results * HTMLparser.c nanohttp.c testXPath.c: incorporated provided or @@ -18037,7 +18037,7 @@ Fri Oct 6 12:58:04 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org> Thu Oct 5 18:13:15 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org> - * debugXML.c testXPath.c xpath.[ch]: got pissed by some nastyness + * debugXML.c testXPath.c xpath.[ch]: got pissed by some nastiness in the XPath engine, rewrote large parts of it, now it's far cleaner and in sync with the REC not an old WD. Fixed a parsing problem in the interactive XML shell found when testing XPath. @@ -18255,7 +18255,7 @@ Mon Aug 28 11:58:12 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org> patches from Wayne Davison <wayned@users.sourceforge.net>, adding htmlEncodeEntities() * HTMLparser.c: fixed an ignorable white space detection bug - occuring when parsing with SAX only + occurring when parsing with SAX only * result/HTML/*.sax: updated since the output is now HTML encoded... @@ -18420,7 +18420,7 @@ Fri Jul 14 16:12:20 MEST 2000 Daniel Veillard <Daniel.Veillard@w3.org> when using Sun Pro cc compiler * xpath.c : cleanup memleaks * nanoftp.c : added a TESTING preprocessor flag for standalong - compile so that people can report bugs more easilly + compile so that people can report bugs more easily * nanohttp.c : ditched socklen_t which was a portability mess and replaced it with unsigned int. * tree.[ch]: added xmlHasProp() @@ -18594,7 +18594,7 @@ Mon Apr 3 21:47:10 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org> Makefile.am : added compile-time customization of libxml --with-ftp --with-http --with-html --with-xpath --with-debug --with-mem-debug - * *.[ch] autoconf.sh : moved to an absolute adressing of includes : + * *.[ch] autoconf.sh : moved to an absolute addressing of includes : #include <libxml/xxx.h> I hope it won't break too much stuff and will be manageable in the future... * xmllint.c Makefile.am libxml.spec.in : renamed tester.c to xmllint.c @@ -18625,7 +18625,7 @@ Mon Mar 20 12:33:51 CET 2000 Daniel Veillard <Daniel.Veillard@w3.org> libxml default allocation function with another set (like gmalloc/ gfree). * Makefile.am, uri.c, uri.h: added a set of functions to do - exact (litteraly copied from the RFC 2396 productions) parsing + exact (literally copied from the RFC 2396 productions) parsing and handling of URI. Will be needed for XLink, one XML WFC, XML Base and reused in the nano[ftp/http] modules. Still work to be done. @@ -18688,7 +18688,7 @@ Thu Feb 3 15:59:37 CET 2000 Daniel Veillard <Daniel.Veillard@w3.org> * nanoftp.c nanohttp.c tree.c HTMLtree.[ch] debugXML.c xpath.c: Fixed compilation warnings on various platforms. - * parser.c: Fixed #5281 validity error callbacks are now desactived + * parser.c: Fixed #5281 validity error callbacks are now deactivated by default if not validating. Thu Feb 3 13:46:14 CET 2000 Daniel Veillard <Daniel.Veillard@w3.org> @@ -18895,7 +18895,7 @@ Tue Dec 21 14:29:34 CET 1999 Daniel Veillard <Daniel.Veillard@w3.org> * result/HTML/*.htm*: Updated the HTML examples regression tests output * SAX.c tree.c: fixed bug on defaulting namespaces on attributes * debugXML.c: fixed a bug on printing default namespaces. - * HTMLtree.c: fixed a problem when outputing XML parsed docs as HTML + * HTMLtree.c: fixed a problem when outputting XML parsed docs as HTML Mon Dec 20 16:20:55 CET 1999 Daniel Veillard <Daniel.Veillard@w3.org> @@ -18922,7 +18922,7 @@ Sat Dec 18 16:07:03 CET 1999 Daniel Veillard <Daniel.Veillard@w3.org> Thu Dec 16 16:19:29 CET 1999 Daniel Veillard <Daniel.Veillard@w3.org> * tree.c: fixed a bug introduced in 1.8.0 and breaking default - namespace recognition, and Dia as a resul :-( + namespace recognition, and Dia as a result :-( * encoding.c: closed bug #3950 Wed Dec 15 19:22:23 CET 1999 Daniel Veillard <Daniel.Veillard@w3.org> @@ -18952,7 +18952,7 @@ Sun Dec 12 13:08:15 CET 1999 Daniel Veillard <Daniel.Veillard@w3.org> buffers instead, this was really needed, validation was breaking in strange ways due to that. Added xmlParseStringPEReference() and other parsing from strings functions. Entities processing - modified again, but PERef are still not handled correcly but + modified again, but PERef are still not handled correctly but unless you're Eve Maller you won't notice :-) * HTMLparser.c: large changes toward reliability, and switched to lowercase internal tags, XHTML is lowercase, so it will help @@ -19042,8 +19042,8 @@ Mon Oct 25 12:13:25 CEST 1999 Daniel Veillard <Daniel.Veillard@w3.org> a new release out * HTMLparser.c: fixed auto-close bugs on list items, zeroing some structures, comments before and after the - main element, and other nastyness - * HTMLtree.c tree.c: accomodate the extended HTML supported + main element, and other nastiness + * HTMLtree.c tree.c: accommodate the extended HTML supported * configure.in: pushing 1.7.4 * test/ent8 and related outputs : added a new test for bug #2784 * test/HTML/wired.html and related output: a nasty HTML example @@ -19125,7 +19125,7 @@ Wed Sep 22 11:40:31 CEST 1999 Daniel Veillard <Daniel.Veillard@w3.org> * parser.h: modified the parser context struct to regain 1.4.0 binary compatibility - * parser.c, xml-error.h: added errno ot teh context and defined + * parser.c, xml-error.h: added errno to the context and defined a set of errors values with update of errno * nanohttp.[ch]: minimalist HTTP front-end for fetching remote DTDs and entities @@ -19450,7 +19450,7 @@ Sun Jan 31 22:06:48 CET 1999 Daniel Veillard <Daniel.Veillard@w3.org> * valid.[ch], tree.c, parser.c : more work toward full parsing of XML DTDs. - * README: added informations about mailing-list and on-line + * README: added information about mailing-list and on-line documentation 1999-01-27 Raja R Harinath <harinath@cs.umn.edu> @@ -19535,7 +19535,7 @@ Thu Oct 29 00:48:45 EST 1998 Daniel Veillard <Daniel.Veillard@w3.org> Wed Oct 28 17:56:35 EST 1998 Daniel Veillard <Daniel.Veillard@w3.org> - * tree.[ch]: more cleanup on the API, made the tree mor conformant. + * tree.[ch]: more cleanup on the API, made the tree more conformant. Tue Oct 27 17:54:00 EST 1998 Daniel Veillard <Daniel.Veillard@w3.org> @@ -19562,7 +19562,7 @@ Tue Oct 27 01:15:39 EST 1998 Daniel Veillard <Daniel.Veillard@w3.org> Sat Oct 24 14:23:51 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org> - * parser.c: Set up the fonctions comment block, boring but useful. + * parser.c: Set up the functions comment block, boring but useful. * parser.h, SAX.c, parser.c: now attributes are processed through the SAX interface. The problem is that my SAX interface diverged quite a bit from the original one, well this is not an official @@ -19571,7 +19571,7 @@ Sat Oct 24 14:23:51 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org> Tue Oct 20 02:11:21 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org> * SAX.c, entities.c, tree.c, encoding.c, error.c: Set up the - fonctions comment block, boring but useful. + functions comment block, boring but useful. Sun Oct 18 20:40:58 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org> @@ -19594,7 +19594,7 @@ Sat Oct 17 02:43:21 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org> Tue Oct 13 21:46:57 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org> * tree.h, tree.c, parser.c: added prev and doc pointers to Node, - and changed NODEs contants for conformity with DOM Level 1 + and changed NODEs constants for conformity with DOM Level 1 Wed Oct 7 23:42:46 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org> @@ -19631,7 +19631,7 @@ Mon Sep 21 20:11:13 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org> 1998-08-20 Raja R Harinath <harinath@cs.umn.edu> - * error.h: New file. Contains prototyes from `error.c'. + * error.h: New file. Contains prototypes from `error.c'. Thu Aug 13 19:02:34 1998 Tom Tromey <tromey@cygnus.com> @@ -19662,13 +19662,13 @@ Sun Jul 26 17:29:52 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org> Sun Jul 26 00:17:51 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org> * configure.in: added test for CPP - * AUTHORS, Changelog: the original ones didn't get commited but the + * AUTHORS, Changelog: the original ones didn't get committed but the glib ones instead, fixed. * Makefile.am: corrected an error in library naming Fri Jul 24 16:47:14 1998 Daniel Veillard <Daniel.Veillard@w3.org> - * integrated code developped at W3C + * integrated code developed at W3C * changed the original Copyright * migrated to automake * prefixed the filenames by xml_ to avoid filename clashes diff --git a/HTMLparser.c b/HTMLparser.c index 9e60e27e..b9812985 100644 --- a/HTMLparser.c +++ b/HTMLparser.c @@ -69,7 +69,7 @@ static void htmlParseComment(htmlParserCtxtPtr ctxt); /** * htmlErrMemory: * @ctxt: an HTML parser context - * @extra: extra informations + * @extra: extra information * * Handle a redefinition of attribute error */ @@ -317,7 +317,7 @@ htmlNodeInfoPop(htmlParserCtxtPtr ctxt) #define SKIP_BLANKS htmlSkipBlankChars(ctxt) -/* Inported from XML */ +/* Imported from XML */ /* #define CUR (ctxt->token ? ctxt->token : (int) (*ctxt->input->cur)) */ #define CUR ((int) (*ctxt->input->cur)) @@ -414,6 +414,10 @@ htmlFindEncoding(xmlParserCtxtPtr ctxt) { static int htmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) { + const unsigned char *cur; + unsigned char c; + unsigned int val; + if (ctxt->instate == XML_PARSER_EOF) return(0); @@ -421,99 +425,29 @@ htmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) { *len = 0; return(ctxt->token); } - if (ctxt->charset == XML_CHAR_ENCODING_UTF8) { - /* - * We are supposed to handle UTF8, check it's valid - * From rfc2044: encoding of the Unicode values on UTF-8: - * - * UCS-4 range (hex.) UTF-8 octet sequence (binary) - * 0000 0000-0000 007F 0xxxxxxx - * 0000 0080-0000 07FF 110xxxxx 10xxxxxx - * 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx - * - * Check for the 0x110000 limit too - */ - const unsigned char *cur = ctxt->input->cur; - unsigned char c; - unsigned int val; - - c = *cur; - if (c & 0x80) { - if (cur[1] == 0) { - xmlParserInputGrow(ctxt->input, INPUT_CHUNK); - cur = ctxt->input->cur; - } - if ((cur[1] & 0xc0) != 0x80) - goto encoding_error; - if ((c & 0xe0) == 0xe0) { + if (ctxt->charset != XML_CHAR_ENCODING_UTF8) { + xmlChar * guess; + xmlCharEncodingHandlerPtr handler; - if (cur[2] == 0) { - xmlParserInputGrow(ctxt->input, INPUT_CHUNK); - cur = ctxt->input->cur; - } - if ((cur[2] & 0xc0) != 0x80) - goto encoding_error; - if ((c & 0xf0) == 0xf0) { - if (cur[3] == 0) { - xmlParserInputGrow(ctxt->input, INPUT_CHUNK); - cur = ctxt->input->cur; - } - if (((c & 0xf8) != 0xf0) || - ((cur[3] & 0xc0) != 0x80)) - goto encoding_error; - /* 4-byte code */ - *len = 4; - val = (cur[0] & 0x7) << 18; - val |= (cur[1] & 0x3f) << 12; - val |= (cur[2] & 0x3f) << 6; - val |= cur[3] & 0x3f; - } else { - /* 3-byte code */ - *len = 3; - val = (cur[0] & 0xf) << 12; - val |= (cur[1] & 0x3f) << 6; - val |= cur[2] & 0x3f; - } - } else { - /* 2-byte code */ - *len = 2; - val = (cur[0] & 0x1f) << 6; - val |= cur[1] & 0x3f; - } - if (!IS_CHAR(val)) { - htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR, - "Char 0x%X out of allowed range\n", val); - } - return(val); - } else { + /* + * Assume it's a fixed length encoding (1) with + * a compatible encoding for the ASCII set, since + * HTML constructs only use < 128 chars + */ + if ((int) *ctxt->input->cur < 0x80) { + *len = 1; if ((*ctxt->input->cur == 0) && (ctxt->input->cur < ctxt->input->end)) { - htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR, - "Char 0x%X out of allowed range\n", 0); - *len = 1; + htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR, + "Char 0x%X out of allowed range\n", 0); return(' '); } - /* 1-byte code */ - *len = 1; - return((int) *ctxt->input->cur); - } - } - /* - * Assume it's a fixed length encoding (1) with - * a compatible encoding for the ASCII set, since - * XML constructs only use < 128 chars - */ - *len = 1; - if ((int) *ctxt->input->cur < 0x80) - return((int) *ctxt->input->cur); - - /* - * Humm this is bad, do an automatic flow conversion - */ - { - xmlChar * guess; - xmlCharEncodingHandlerPtr handler; + return((int) *ctxt->input->cur); + } + /* + * Humm this is bad, do an automatic flow conversion + */ guess = htmlFindEncoding(ctxt); if (guess == NULL) { xmlSwitchEncoding(ctxt, XML_CHAR_ENCODING_8859_1); @@ -532,12 +466,91 @@ htmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) { ctxt->charset = XML_CHAR_ENCODING_UTF8; } - return(xmlCurrentChar(ctxt, len)); + /* + * We are supposed to handle UTF8, check it's valid + * From rfc2044: encoding of the Unicode values on UTF-8: + * + * UCS-4 range (hex.) UTF-8 octet sequence (binary) + * 0000 0000-0000 007F 0xxxxxxx + * 0000 0080-0000 07FF 110xxxxx 10xxxxxx + * 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx + * + * Check for the 0x110000 limit too + */ + cur = ctxt->input->cur; + c = *cur; + if (c & 0x80) { + if ((c & 0x40) == 0) + goto encoding_error; + if (cur[1] == 0) { + xmlParserInputGrow(ctxt->input, INPUT_CHUNK); + cur = ctxt->input->cur; + } + if ((cur[1] & 0xc0) != 0x80) + goto encoding_error; + if ((c & 0xe0) == 0xe0) { + + if (cur[2] == 0) { + xmlParserInputGrow(ctxt->input, INPUT_CHUNK); + cur = ctxt->input->cur; + } + if ((cur[2] & 0xc0) != 0x80) + goto encoding_error; + if ((c & 0xf0) == 0xf0) { + if (cur[3] == 0) { + xmlParserInputGrow(ctxt->input, INPUT_CHUNK); + cur = ctxt->input->cur; + } + if (((c & 0xf8) != 0xf0) || + ((cur[3] & 0xc0) != 0x80)) + goto encoding_error; + /* 4-byte code */ + *len = 4; + val = (cur[0] & 0x7) << 18; + val |= (cur[1] & 0x3f) << 12; + val |= (cur[2] & 0x3f) << 6; + val |= cur[3] & 0x3f; + if (val < 0x10000) + goto encoding_error; + } else { + /* 3-byte code */ + *len = 3; + val = (cur[0] & 0xf) << 12; + val |= (cur[1] & 0x3f) << 6; + val |= cur[2] & 0x3f; + if (val < 0x800) + goto encoding_error; + } + } else { + /* 2-byte code */ + *len = 2; + val = (cur[0] & 0x1f) << 6; + val |= cur[1] & 0x3f; + if (val < 0x80) + goto encoding_error; + } + if (!IS_CHAR(val)) { + htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR, + "Char 0x%X out of allowed range\n", val); + } + return(val); + } else { + if ((*ctxt->input->cur == 0) && + (ctxt->input->cur < ctxt->input->end)) { + htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR, + "Char 0x%X out of allowed range\n", 0); + *len = 1; + return(' '); + } + /* 1-byte code */ + *len = 1; + return((int) *ctxt->input->cur); + } encoding_error: /* * If we detect an UTF8 error that probably mean that the - * input encoding didn't get properly advertized in the + * input encoding didn't get properly advertised in the * declaration header. Report the error and switch the encoding * to ISO-Latin-1 (if you don't like this policy, just declare the * encoding !) @@ -602,8 +615,8 @@ htmlSkipBlankChars(xmlParserCtxtPtr ctxt) { ************************************************************************/ /* - * Start Tag: 1 means the start tag can be ommited - * End Tag: 1 means the end tag can be ommited + * Start Tag: 1 means the start tag can be omitted + * End Tag: 1 means the end tag can be omitted * 2 means it's forbidden (empty elements) * 3 means the tag is stylistic and should be closed easily * Depr: this element is deprecated @@ -1342,7 +1355,7 @@ htmlAutoCloseOnClose(htmlParserCtxtPtr ctxt, const xmlChar * newtag) if (xmlStrEqual(newtag, ctxt->nameTab[i])) break; /* - * A missplaced endtag can only close elements with lower + * A misplaced endtag can only close elements with lower * or equal priority, so if we find an element with higher * priority before we find an element with * matching name, we just ignore this endtag @@ -2176,6 +2189,7 @@ htmlEncodeEntities(unsigned char* out, int *outlen, * * ************************************************************************/ +#ifdef LIBXML_PUSH_ENABLED /** * htmlNewInputStream: * @ctxt: an HTML parser context @@ -2207,6 +2221,7 @@ htmlNewInputStream(htmlParserCtxtPtr ctxt) { input->length = 0; return(input); } +#endif /************************************************************************ @@ -2216,9 +2231,9 @@ htmlNewInputStream(htmlParserCtxtPtr ctxt) { ************************************************************************/ /* * all tags allowing pc data from the html 4.01 loose dtd - * NOTE: it might be more apropriate to integrate this information + * NOTE: it might be more appropriate to integrate this information * into the html40ElementTable array but I don't want to risk any - * binary incomptibility + * binary incompatibility */ static const char *allowPCData[] = { "a", "abbr", "acronym", "address", "applet", "b", "bdo", "big", @@ -2787,47 +2802,39 @@ htmlParseAttValue(htmlParserCtxtPtr ctxt) { static xmlChar * htmlParseSystemLiteral(htmlParserCtxtPtr ctxt) { size_t len = 0, startPosition = 0; + int err = 0; + int quote; xmlChar *ret = NULL; - if (CUR == '"') { - NEXT; + if ((CUR != '"') && (CUR != '\'')) { + htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_STARTED, + "SystemLiteral \" or ' expected\n", NULL, NULL); + return(NULL); + } + quote = CUR; + NEXT; - if (CUR_PTR < BASE_PTR) - return(ret); - startPosition = CUR_PTR - BASE_PTR; + if (CUR_PTR < BASE_PTR) + return(ret); + startPosition = CUR_PTR - BASE_PTR; - while ((IS_CHAR_CH(CUR)) && (CUR != '"')) { - NEXT; - len++; - } - if (!IS_CHAR_CH(CUR)) { - htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_FINISHED, - "Unfinished SystemLiteral\n", NULL, NULL); - } else { - ret = xmlStrndup((BASE_PTR+startPosition), len); - NEXT; + while ((CUR != 0) && (CUR != quote)) { + /* TODO: Handle UTF-8 */ + if (!IS_CHAR_CH(CUR)) { + htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR, + "Invalid char in SystemLiteral 0x%X\n", CUR); + err = 1; } - } else if (CUR == '\'') { NEXT; - - if (CUR_PTR < BASE_PTR) - return(ret); - startPosition = CUR_PTR - BASE_PTR; - - while ((IS_CHAR_CH(CUR)) && (CUR != '\'')) { - NEXT; - len++; - } - if (!IS_CHAR_CH(CUR)) { - htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_FINISHED, - "Unfinished SystemLiteral\n", NULL, NULL); - } else { - ret = xmlStrndup((BASE_PTR+startPosition), len); - NEXT; - } + len++; + } + if (CUR != quote) { + htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_FINISHED, + "Unfinished SystemLiteral\n", NULL, NULL); } else { - htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_STARTED, - " or ' expected\n", NULL, NULL); + NEXT; + if (err == 0) + ret = xmlStrndup((BASE_PTR+startPosition), len); } return(ret); @@ -2847,51 +2854,42 @@ htmlParseSystemLiteral(htmlParserCtxtPtr ctxt) { static xmlChar * htmlParsePubidLiteral(htmlParserCtxtPtr ctxt) { size_t len = 0, startPosition = 0; + int err = 0; + int quote; xmlChar *ret = NULL; + + if ((CUR != '"') && (CUR != '\'')) { + htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_STARTED, + "PubidLiteral \" or ' expected\n", NULL, NULL); + return(NULL); + } + quote = CUR; + NEXT; + /* * Name ::= (Letter | '_') (NameChar)* */ - if (CUR == '"') { - NEXT; - - if (CUR_PTR < BASE_PTR) - return(ret); - startPosition = CUR_PTR - BASE_PTR; - - while (IS_PUBIDCHAR_CH(CUR)) { - len++; - NEXT; + if (CUR_PTR < BASE_PTR) + return(ret); + startPosition = CUR_PTR - BASE_PTR; + + while ((CUR != 0) && (CUR != quote)) { + if (!IS_PUBIDCHAR_CH(CUR)) { + htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR, + "Invalid char in PubidLiteral 0x%X\n", CUR); + err = 1; } - - if (CUR != '"') { - htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_FINISHED, - "Unfinished PubidLiteral\n", NULL, NULL); - } else { - ret = xmlStrndup((BASE_PTR + startPosition), len); - NEXT; - } - } else if (CUR == '\'') { + len++; NEXT; + } - if (CUR_PTR < BASE_PTR) - return(ret); - startPosition = CUR_PTR - BASE_PTR; - - while ((IS_PUBIDCHAR_CH(CUR)) && (CUR != '\'')){ - len++; - NEXT; - } - - if (CUR != '\'') { - htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_FINISHED, - "Unfinished PubidLiteral\n", NULL, NULL); - } else { - ret = xmlStrndup((BASE_PTR + startPosition), len); - NEXT; - } + if (CUR != '"') { + htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_FINISHED, + "Unfinished PubidLiteral\n", NULL, NULL); } else { - htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_STARTED, - "PubidLiteral \" or ' expected\n", NULL, NULL); + NEXT; + if (err == 0) + ret = xmlStrndup((BASE_PTR + startPosition), len); } return(ret); @@ -2926,7 +2924,7 @@ htmlParseScript(htmlParserCtxtPtr ctxt) { SHRINK; cur = CUR_CHAR(l); - while (IS_CHAR_CH(cur)) { + while (cur != 0) { if ((cur == '<') && (NXT(1) == '/')) { /* * One should break here, the specification is clear: @@ -2957,8 +2955,14 @@ htmlParseScript(htmlParserCtxtPtr ctxt) { } } } - COPY_BUF(l,buf,nbchar,cur); + if (IS_CHAR(cur)) { + COPY_BUF(l,buf,nbchar,cur); + } else { + htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR, + "Invalid char in CDATA 0x%X\n", cur); + } if (nbchar >= HTML_PARSER_BIG_BUFFER_SIZE) { + buf[nbchar] = 0; if (ctxt->sax->cdataBlock!= NULL) { /* * Insert as CDATA, which is the same as HTML_PRESERVE_NODE @@ -2974,15 +2978,8 @@ htmlParseScript(htmlParserCtxtPtr ctxt) { cur = CUR_CHAR(l); } - if ((!(IS_CHAR_CH(cur))) && (!((cur == 0) && (ctxt->progressive)))) { - htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR, - "Invalid char in CDATA 0x%X\n", cur); - if (ctxt->input->cur < ctxt->input->end) { - NEXT; - } - } - if ((nbchar != 0) && (ctxt->sax != NULL) && (!ctxt->disableSAX)) { + buf[nbchar] = 0; if (ctxt->sax->cdataBlock!= NULL) { /* * Insert as CDATA, which is the same as HTML_PRESERVE_NODE @@ -3028,6 +3025,8 @@ htmlParseCharDataInternal(htmlParserCtxtPtr ctxt, int readahead) { COPY_BUF(l,buf,nbchar,cur); } if (nbchar >= HTML_PARSER_BIG_BUFFER_SIZE) { + buf[nbchar] = 0; + /* * Ok the segment is to be consumed as chars. */ @@ -3226,7 +3225,7 @@ htmlParsePI(htmlParserCtxtPtr ctxt) { } SKIP_BLANKS; cur = CUR_CHAR(l); - while (IS_CHAR(cur) && (cur != '>')) { + while ((cur != 0) && (cur != '>')) { if (len + 5 >= size) { xmlChar *tmp; @@ -3245,7 +3244,13 @@ htmlParsePI(htmlParserCtxtPtr ctxt) { GROW; count = 0; } - COPY_BUF(l,buf,len,cur); + if (IS_CHAR(cur)) { + COPY_BUF(l,buf,len,cur); + } else { + htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR, + "Invalid char in processing instruction " + "0x%X\n", cur); + } NEXTL(l); cur = CUR_CHAR(l); if (cur == 0) { @@ -3315,15 +3320,15 @@ htmlParseComment(htmlParserCtxtPtr ctxt) { len = 0; buf[len] = 0; q = CUR_CHAR(ql); - if (!IS_CHAR(q)) + if (q == 0) goto unfinished; NEXTL(ql); r = CUR_CHAR(rl); - if (!IS_CHAR(r)) + if (r == 0) goto unfinished; NEXTL(rl); cur = CUR_CHAR(l); - while (IS_CHAR(cur) && + while ((cur != 0) && ((cur != '>') || (r != '-') || (q != '-'))) { if (len + 5 >= size) { @@ -3339,7 +3344,12 @@ htmlParseComment(htmlParserCtxtPtr ctxt) { } buf = tmp; } - COPY_BUF(ql,buf,len,q); + if (IS_CHAR(q)) { + COPY_BUF(ql,buf,len,q); + } else { + htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR, + "Invalid char in comment 0x%X\n", q); + } q = r; ql = rl; r = cur; @@ -3353,7 +3363,7 @@ htmlParseComment(htmlParserCtxtPtr ctxt) { } } buf[len] = 0; - if (IS_CHAR(cur)) { + if (cur == '>') { NEXT; if ((ctxt->sax != NULL) && (ctxt->sax->comment != NULL) && (!ctxt->disableSAX)) @@ -3394,13 +3404,16 @@ htmlParseCharRef(htmlParserCtxtPtr ctxt) { ((NXT(2) == 'x') || NXT(2) == 'X')) { SKIP(3); while (CUR != ';') { - if ((CUR >= '0') && (CUR <= '9')) - val = val * 16 + (CUR - '0'); - else if ((CUR >= 'a') && (CUR <= 'f')) - val = val * 16 + (CUR - 'a') + 10; - else if ((CUR >= 'A') && (CUR <= 'F')) - val = val * 16 + (CUR - 'A') + 10; - else { + if ((CUR >= '0') && (CUR <= '9')) { + if (val < 0x110000) + val = val * 16 + (CUR - '0'); + } else if ((CUR >= 'a') && (CUR <= 'f')) { + if (val < 0x110000) + val = val * 16 + (CUR - 'a') + 10; + } else if ((CUR >= 'A') && (CUR <= 'F')) { + if (val < 0x110000) + val = val * 16 + (CUR - 'A') + 10; + } else { htmlParseErr(ctxt, XML_ERR_INVALID_HEX_CHARREF, "htmlParseCharRef: missing semicolon\n", NULL, NULL); @@ -3413,9 +3426,10 @@ htmlParseCharRef(htmlParserCtxtPtr ctxt) { } else if ((CUR == '&') && (NXT(1) == '#')) { SKIP(2); while (CUR != ';') { - if ((CUR >= '0') && (CUR <= '9')) - val = val * 10 + (CUR - '0'); - else { + if ((CUR >= '0') && (CUR <= '9')) { + if (val < 0x110000) + val = val * 10 + (CUR - '0'); + } else { htmlParseErr(ctxt, XML_ERR_INVALID_DEC_CHARREF, "htmlParseCharRef: missing semicolon\n", NULL, NULL); @@ -3434,6 +3448,9 @@ htmlParseCharRef(htmlParserCtxtPtr ctxt) { */ if (IS_CHAR(val)) { return(val); + } else if (val >= 0x110000) { + htmlParseErr(ctxt, XML_ERR_INVALID_CHAR, + "htmlParseCharRef: value too large\n", NULL, NULL); } else { htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR, "htmlParseCharRef: invalid xmlChar value %d\n", @@ -3493,9 +3510,12 @@ htmlParseDocTypeDecl(htmlParserCtxtPtr ctxt) { if (CUR != '>') { htmlParseErr(ctxt, XML_ERR_DOCTYPE_NOT_FINISHED, "DOCTYPE improperly terminated\n", NULL, NULL); - /* We shouldn't try to resynchronize ... */ + /* Ignore bogus content */ + while ((CUR != 0) && (CUR != '>')) + NEXT; } - NEXT; + if (CUR == '>') + NEXT; /* * Create or update the document accordingly to the DOCTYPE @@ -3773,7 +3793,7 @@ htmlParseStartTag(htmlParserCtxtPtr ctxt) { /* Dump the bogus tag like browsers do */ - while ((IS_CHAR_CH(CUR)) && (CUR != '>') && + while ((CUR != 0) && (CUR != '>') && (ctxt->instate != XML_PARSER_EOF)) NEXT; return -1; @@ -3829,7 +3849,7 @@ htmlParseStartTag(htmlParserCtxtPtr ctxt) { * (S Attribute)* S? */ SKIP_BLANKS; - while ((IS_CHAR_CH(CUR)) && + while ((CUR != 0) && (CUR != '>') && ((CUR != '/') || (NXT(1) != '>'))) { long cons = ctxt->nbChars; @@ -3892,7 +3912,7 @@ htmlParseStartTag(htmlParserCtxtPtr ctxt) { xmlFree(attvalue); /* Dump the bogus attribute string up to the next blank or * the end of the tag. */ - while ((IS_CHAR_CH(CUR)) && + while ((CUR != 0) && !(IS_BLANK_CH(CUR)) && (CUR != '>') && ((CUR != '/') || (NXT(1) != '>'))) NEXT; @@ -3973,19 +3993,14 @@ htmlParseEndTag(htmlParserCtxtPtr ctxt) * We should definitely be at the ending "S? '>'" part */ SKIP_BLANKS; - if ((!IS_CHAR_CH(CUR)) || (CUR != '>')) { + if (CUR != '>') { htmlParseErr(ctxt, XML_ERR_GT_REQUIRED, "End tag : expected '>'\n", NULL, NULL); - if (ctxt->recovery) { - /* - * We're not at the ending > !! - * Error, unless in recover mode where we search forwards - * until we find a > - */ - while (CUR != '\0' && CUR != '>') NEXT; - NEXT; - } - } else + /* Skip to next '>' */ + while ((CUR != 0) && (CUR != '>')) + NEXT; + } + if (CUR == '>') NEXT; /* @@ -4175,7 +4190,7 @@ htmlParseContent(htmlParserCtxtPtr ctxt) { "htmlParseStartTag: invalid element name\n", NULL, NULL); /* Dump the bogus tag like browsers do */ - while ((IS_CHAR_CH(CUR)) && (CUR != '>')) + while ((CUR != 0) && (CUR != '>')) NEXT; if (currentNode != NULL) @@ -4390,7 +4405,7 @@ htmlParseElement(htmlParserCtxtPtr ctxt) { */ currentNode = xmlStrdup(ctxt->name); depth = ctxt->nameNr; - while (IS_CHAR_CH(CUR)) { + while (CUR != 0) { oldptr = ctxt->input->cur; htmlParseContent(ctxt); if (oldptr==ctxt->input->cur) break; @@ -4407,7 +4422,7 @@ htmlParseElement(htmlParserCtxtPtr ctxt) { node_info.node = ctxt->node; xmlParserAddNodeInfo(ctxt, &node_info); } - if (!IS_CHAR_CH(CUR)) { + if (CUR == 0) { htmlAutoCloseOnEnd(ctxt); } @@ -4428,7 +4443,7 @@ htmlParserFinishElementParsing(htmlParserCtxtPtr ctxt) { xmlParserAddNodeInfo(ctxt, ctxt->nodeInfo); htmlNodeInfoPop(ctxt); } - if (!IS_CHAR_CH(CUR)) { + if (CUR == 0) { htmlAutoCloseOnEnd(ctxt); } } @@ -4577,7 +4592,7 @@ htmlParseContentInternal(htmlParserCtxtPtr ctxt) { "htmlParseStartTag: invalid element name\n", NULL, NULL); /* Dump the bogus tag like browsers do */ - while ((IS_CHAR_CH(CUR)) && (CUR != '>')) + while ((CUR == 0) && (CUR != '>')) NEXT; htmlParserFinishElementParsing(ctxt); @@ -5113,7 +5128,7 @@ htmlCreateDocParserCtxt(const xmlChar *cur, const char *encoding) { * @first: the first char to lookup * @next: the next char to lookup or zero * @third: the next char to lookup or zero - * @comment: flag to force checking inside comments + * @ignoreattrval: skip over attribute values * * Try to find if a sequence (first, next, third) or just (first next) or * (first) is available in the input stream. @@ -5127,13 +5142,11 @@ htmlCreateDocParserCtxt(const xmlChar *cur, const char *encoding) { */ static int htmlParseLookupSequence(htmlParserCtxtPtr ctxt, xmlChar first, - xmlChar next, xmlChar third, int iscomment, - int ignoreattrval) + xmlChar next, xmlChar third, int ignoreattrval) { int base, len; htmlParserInputPtr in; const xmlChar *buf; - int incomment = 0; int invalue = 0; char valdellim = 0x0; @@ -5145,8 +5158,11 @@ htmlParseLookupSequence(htmlParserCtxtPtr ctxt, xmlChar first, if (base < 0) return (-1); - if (ctxt->checkIndex > base) + if (ctxt->checkIndex > base) { base = ctxt->checkIndex; + /* Abuse hasPErefs member to restore current state. */ + invalue = ctxt->hasPErefs & 1 ? 1 : 0; + } if (in->buf == NULL) { buf = in->base; @@ -5162,14 +5178,6 @@ htmlParseLookupSequence(htmlParserCtxtPtr ctxt, xmlChar first, else if (next) len--; for (; base < len; base++) { - if ((!incomment) && (base + 4 < len) && (!iscomment)) { - if ((buf[base] == '<') && (buf[base + 1] == '!') && - (buf[base + 2] == '-') && (buf[base + 3] == '-')) { - incomment = 1; - /* do not increment past <! - some people use <!--> */ - base += 2; - } - } if (ignoreattrval) { if (buf[base] == '"' || buf[base] == '\'') { if (invalue) { @@ -5186,16 +5194,6 @@ htmlParseLookupSequence(htmlParserCtxtPtr ctxt, xmlChar first, continue; } } - if (incomment) { - if (base + 3 > len) - return (-1); - if ((buf[base] == '-') && (buf[base + 1] == '-') && - (buf[base + 2] == '>')) { - incomment = 0; - base += 2; - } - continue; - } if (buf[base] == first) { if (third != 0) { if ((buf[base + 1] != next) || (buf[base + 2] != third)) @@ -5222,8 +5220,12 @@ htmlParseLookupSequence(htmlParserCtxtPtr ctxt, xmlChar first, return (base - (in->cur - in->base)); } } - if ((!incomment) && (!invalue)) - ctxt->checkIndex = base; + ctxt->checkIndex = base; + /* Abuse hasPErefs member to track current state. */ + if (invalue) + ctxt->hasPErefs |= 1; + else + ctxt->hasPErefs &= ~1; #ifdef DEBUG_PUSH if (next == 0) xmlGenericError(xmlGenericErrorContext, @@ -5240,80 +5242,6 @@ htmlParseLookupSequence(htmlParserCtxtPtr ctxt, xmlChar first, } /** - * htmlParseLookupChars: - * @ctxt: an HTML parser context - * @stop: Array of chars, which stop the lookup. - * @stopLen: Length of stop-Array - * - * Try to find if any char of the stop-Array is available in the input - * stream. - * This function has a side effect of (possibly) incrementing ctxt->checkIndex - * to avoid rescanning sequences of bytes, it DOES change the state of the - * parser, do not use liberally. - * - * Returns the index to the current parsing point if a stopChar - * is available, -1 otherwise. - */ -static int -htmlParseLookupChars(htmlParserCtxtPtr ctxt, const xmlChar * stop, - int stopLen) -{ - int base, len; - htmlParserInputPtr in; - const xmlChar *buf; - int incomment = 0; - int i; - - in = ctxt->input; - if (in == NULL) - return (-1); - - base = in->cur - in->base; - if (base < 0) - return (-1); - - if (ctxt->checkIndex > base) - base = ctxt->checkIndex; - - if (in->buf == NULL) { - buf = in->base; - len = in->length; - } else { - buf = xmlBufContent(in->buf->buffer); - len = xmlBufUse(in->buf->buffer); - } - - for (; base < len; base++) { - if (!incomment && (base + 4 < len)) { - if ((buf[base] == '<') && (buf[base + 1] == '!') && - (buf[base + 2] == '-') && (buf[base + 3] == '-')) { - incomment = 1; - /* do not increment past <! - some people use <!--> */ - base += 2; - } - } - if (incomment) { - if (base + 3 > len) - return (-1); - if ((buf[base] == '-') && (buf[base + 1] == '-') && - (buf[base + 2] == '>')) { - incomment = 0; - base += 2; - } - continue; - } - for (i = 0; i < stopLen; ++i) { - if (buf[base] == stop[i]) { - ctxt->checkIndex = 0; - return (base - (in->cur - in->base)); - } - } - } - ctxt->checkIndex = base; - return (-1); -} - -/** * htmlParseTryOrFinish: * @ctxt: an HTML parser context * @terminate: last chunk indicator @@ -5326,7 +5254,7 @@ static int htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { int ret = 0; htmlParserInputPtr in; - int avail = 0; + ptrdiff_t avail = 0; xmlChar cur, next; htmlParserNodeInfo node_info; @@ -5391,7 +5319,8 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { if (in->buf == NULL) avail = in->length - (in->cur - in->base); else - avail = xmlBufUse(in->buf->buffer) - (in->cur - in->base); + avail = (ptrdiff_t)xmlBufUse(in->buf->buffer) - + (in->cur - in->base); if ((avail == 0) && (terminate)) { htmlAutoCloseOnEnd(ctxt); if ((ctxt->nameNr == 0) && (ctxt->instate != XML_PARSER_EOF)) { @@ -5405,6 +5334,12 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { } if (avail < 1) goto done; + /* + * This is done to make progress and avoid an infinite loop + * if a parsing attempt was aborted by hitting a NUL byte. After + * changing htmlCurrentChar, this probably isn't necessary anymore. + * We should consider removing this check. + */ cur = in->cur[0]; if (cur == 0) { SKIP(1); @@ -5427,7 +5362,8 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { if (in->buf == NULL) avail = in->length - (in->cur - in->base); else - avail = xmlBufUse(in->buf->buffer) - (in->cur - in->base); + avail = (ptrdiff_t)xmlBufUse(in->buf->buffer) - + (in->cur - in->base); } if ((ctxt->sax) && (ctxt->sax->setDocumentLocator)) ctxt->sax->setDocumentLocator(ctxt->userData, @@ -5444,7 +5380,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { (UPP(6) == 'Y') && (UPP(7) == 'P') && (UPP(8) == 'E')) { if ((!terminate) && - (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0)) + (htmlParseLookupSequence(ctxt, '>', 0, 0, 1) < 0)) goto done; #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, @@ -5469,14 +5405,15 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { if (in->buf == NULL) avail = in->length - (in->cur - in->base); else - avail = xmlBufUse(in->buf->buffer) - (in->cur - in->base); + avail = (ptrdiff_t)xmlBufUse(in->buf->buffer) - + (in->cur - in->base); /* * no chars in buffer */ if (avail < 1) goto done; /* - * not enouth chars in buffer + * not enough chars in buffer */ if (avail < 2) { if (!terminate) @@ -5490,7 +5427,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { if ((cur == '<') && (next == '!') && (in->cur[2] == '-') && (in->cur[3] == '-')) { if ((!terminate) && - (htmlParseLookupSequence(ctxt, '-', '-', '>', 1, 1) < 0)) + (htmlParseLookupSequence(ctxt, '-', '-', '>', 0) < 0)) goto done; #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, @@ -5500,7 +5437,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { ctxt->instate = XML_PARSER_MISC; } else if ((cur == '<') && (next == '?')) { if ((!terminate) && - (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0)) + (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0)) goto done; #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, @@ -5514,7 +5451,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { (UPP(6) == 'Y') && (UPP(7) == 'P') && (UPP(8) == 'E')) { if ((!terminate) && - (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0)) + (htmlParseLookupSequence(ctxt, '>', 0, 0, 1) < 0)) goto done; #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, @@ -5530,7 +5467,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { (avail < 9)) { goto done; } else { - ctxt->instate = XML_PARSER_START_TAG; + ctxt->instate = XML_PARSER_CONTENT; #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, "HPP: entering START_TAG\n"); @@ -5542,7 +5479,8 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { if (in->buf == NULL) avail = in->length - (in->cur - in->base); else - avail = xmlBufUse(in->buf->buffer) - (in->cur - in->base); + avail = (ptrdiff_t)xmlBufUse(in->buf->buffer) - + (in->cur - in->base); if (avail < 2) goto done; cur = in->cur[0]; @@ -5550,7 +5488,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { if ((cur == '<') && (next == '!') && (in->cur[2] == '-') && (in->cur[3] == '-')) { if ((!terminate) && - (htmlParseLookupSequence(ctxt, '-', '-', '>', 1, 1) < 0)) + (htmlParseLookupSequence(ctxt, '-', '-', '>', 0) < 0)) goto done; #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, @@ -5560,7 +5498,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { ctxt->instate = XML_PARSER_PROLOG; } else if ((cur == '<') && (next == '?')) { if ((!terminate) && - (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0)) + (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0)) goto done; #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, @@ -5572,7 +5510,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { (avail < 4)) { goto done; } else { - ctxt->instate = XML_PARSER_START_TAG; + ctxt->instate = XML_PARSER_CONTENT; #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, "HPP: entering START_TAG\n"); @@ -5583,7 +5521,8 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { if (in->buf == NULL) avail = in->length - (in->cur - in->base); else - avail = xmlBufUse(in->buf->buffer) - (in->cur - in->base); + avail = (ptrdiff_t)xmlBufUse(in->buf->buffer) - + (in->cur - in->base); if (avail < 1) goto done; cur = in->cur[0]; @@ -5597,7 +5536,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { if ((cur == '<') && (next == '!') && (in->cur[2] == '-') && (in->cur[3] == '-')) { if ((!terminate) && - (htmlParseLookupSequence(ctxt, '-', '-', '>', 1, 1) < 0)) + (htmlParseLookupSequence(ctxt, '-', '-', '>', 0) < 0)) goto done; #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, @@ -5607,7 +5546,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { ctxt->instate = XML_PARSER_EPILOG; } else if ((cur == '<') && (next == '?')) { if ((!terminate) && - (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0)) + (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0)) goto done; #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, @@ -5642,7 +5581,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { if (avail < 1) goto done; /* - * not enouth chars in buffer + * not enough chars in buffer */ if (avail < 2) { if (!terminate) @@ -5671,7 +5610,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { break; } if ((!terminate) && - (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0)) + (htmlParseLookupSequence(ctxt, '>', 0, 0, 1) < 0)) goto done; /* Capture start position */ @@ -5762,13 +5701,13 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { break; } case XML_PARSER_CONTENT: { + xmlChar chr[2] = { 0, 0 }; long cons; + /* * Handle preparsed entities and charRef */ if (ctxt->token != 0) { - xmlChar chr[2] = { 0 , 0 } ; - chr[0] = (xmlChar) ctxt->token; htmlCheckParagraph(ctxt); if ((ctxt->sax != NULL) && (ctxt->sax->characters != NULL)) @@ -5780,21 +5719,22 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { cur = in->cur[0]; if ((cur != '<') && (cur != '&')) { if (ctxt->sax != NULL) { + chr[0] = cur; if (IS_BLANK_CH(cur)) { if (ctxt->keepBlanks) { if (ctxt->sax->characters != NULL) ctxt->sax->characters( - ctxt->userData, &in->cur[0], 1); + ctxt->userData, chr, 1); } else { if (ctxt->sax->ignorableWhitespace != NULL) ctxt->sax->ignorableWhitespace( - ctxt->userData, &in->cur[0], 1); + ctxt->userData, chr, 1); } } else { htmlCheckParagraph(ctxt); if (ctxt->sax->characters != NULL) ctxt->sax->characters( - ctxt->userData, &in->cur[0], 1); + ctxt->userData, chr, 1); } } ctxt->token = 0; @@ -5817,7 +5757,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { int idx; xmlChar val; - idx = htmlParseLookupSequence(ctxt, '<', '/', 0, 0, 0); + idx = htmlParseLookupSequence(ctxt, '<', '/', 0, 0); if (idx < 0) goto done; val = in->cur[idx + 2]; @@ -5844,7 +5784,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { (UPP(6) == 'Y') && (UPP(7) == 'P') && (UPP(8) == 'E')) { if ((!terminate) && - (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0)) + (htmlParseLookupSequence(ctxt, '>', 0, 0, 1) < 0)) goto done; htmlParseErr(ctxt, XML_HTML_STRUCURE_ERROR, "Misplaced DOCTYPE declaration\n", @@ -5854,7 +5794,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { (in->cur[2] == '-') && (in->cur[3] == '-')) { if ((!terminate) && (htmlParseLookupSequence( - ctxt, '-', '-', '>', 1, 1) < 0)) + ctxt, '-', '-', '>', 0) < 0)) goto done; #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, @@ -5864,7 +5804,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { ctxt->instate = XML_PARSER_CONTENT; } else if ((cur == '<') && (next == '?')) { if ((!terminate) && - (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0)) + (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0)) goto done; #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, @@ -5883,24 +5823,35 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { #endif break; } else if (cur == '<') { - ctxt->instate = XML_PARSER_START_TAG; - ctxt->checkIndex = 0; + if ((!terminate) && (next == 0)) + goto done; + /* + * Only switch to START_TAG if the next character + * starts a valid name. Otherwise, htmlParseStartTag + * might return without consuming all characters + * up to the final '>'. + */ + if ((IS_ASCII_LETTER(next)) || + (next == '_') || (next == ':') || (next == '.')) { + ctxt->instate = XML_PARSER_START_TAG; + ctxt->checkIndex = 0; #ifdef DEBUG_PUSH - xmlGenericError(xmlGenericErrorContext, - "HPP: entering START_TAG\n"); + xmlGenericError(xmlGenericErrorContext, + "HPP: entering START_TAG\n"); #endif + } else { + htmlParseErr(ctxt, XML_ERR_NAME_REQUIRED, + "htmlParseTryOrFinish: " + "invalid element name\n", + NULL, NULL); + htmlCheckParagraph(ctxt); + if ((ctxt->sax != NULL) && + (ctxt->sax->characters != NULL)) + ctxt->sax->characters(ctxt->userData, + in->cur, 1); + NEXT; + } break; - } else if (cur == '&') { - if ((!terminate) && - (htmlParseLookupChars(ctxt, - BAD_CAST "; >/", 4) < 0)) - goto done; -#ifdef DEBUG_PUSH - xmlGenericError(xmlGenericErrorContext, - "HPP: Parsing Reference\n"); -#endif - /* TODO: check generation of subtrees if noent !!! */ - htmlParseReference(ctxt); } else { /* * check that the text sequence is complete @@ -5909,14 +5860,21 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { * data detection. */ if ((!terminate) && - (htmlParseLookupChars(ctxt, BAD_CAST "<&", 2) < 0)) + (htmlParseLookupSequence(ctxt, '<', 0, 0, 0) < 0)) goto done; ctxt->checkIndex = 0; #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, "HPP: Parsing char data\n"); #endif - htmlParseCharData(ctxt); + while ((cur != '<') && (cur != 0)) { + if (cur == '&') { + htmlParseReference(ctxt); + } else { + htmlParseCharData(ctxt); + } + cur = in->cur[0]; + } } } if (cons == ctxt->nbChars) { @@ -5935,7 +5893,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) { if (avail < 2) goto done; if ((!terminate) && - (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0)) + (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0)) goto done; htmlParseEndTag(ctxt); if (ctxt->nameNr == 0) { @@ -6117,12 +6075,12 @@ htmlParseChunk(htmlParserCtxtPtr ctxt, const char *chunk, int size, int res; res = xmlParserInputBufferPush(ctxt->input->buf, size, chunk); + xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input, base, cur); if (res < 0) { ctxt->errNo = XML_PARSER_EOF; ctxt->disableSAX = 1; return (XML_PARSER_EOF); } - xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input, base, cur); #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, "HPP: pushed %d\n", size); #endif @@ -6141,12 +6099,12 @@ htmlParseChunk(htmlParserCtxtPtr ctxt, const char *chunk, int size, size_t current = ctxt->input->cur - ctxt->input->base; nbchars = xmlCharEncInput(in, terminate); + xmlBufSetInputBaseCur(in->buffer, ctxt->input, base, current); if (nbchars < 0) { htmlParseErr(ctxt, XML_ERR_INVALID_ENCODING, "encoder error\n", NULL, NULL); return(XML_ERR_INVALID_ENCODING); } - xmlBufSetInputBaseCur(in->buffer, ctxt->input, base, current); } } } @@ -226,7 +226,7 @@ found_head: found_meta: /* * Search and update all the remaining the meta elements carrying - * encoding informations + * encoding information */ while (cur != NULL) { if ((cur->type == XML_ELEMENT_NODE) && (cur->name != NULL)) { @@ -345,7 +345,7 @@ xmlAllocOutputBufferInternal(xmlCharEncodingHandlerPtr encoder); ************************************************************************/ /** * htmlSaveErrMemory: - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -359,7 +359,7 @@ htmlSaveErrMemory(const char *extra) * htmlSaveErr: * @code: the error number * @node: the location of the error. - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -760,50 +760,6 @@ htmlAttrDumpOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, xmlAttrPtr cur, } /** - * htmlAttrListDumpOutput: - * @buf: the HTML buffer output - * @doc: the document - * @cur: the first attribute pointer - * @encoding: the encoding string - * - * Dump a list of HTML attributes - */ -static void -htmlAttrListDumpOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, xmlAttrPtr cur, const char *encoding) { - if (cur == NULL) { - return; - } - while (cur != NULL) { - htmlAttrDumpOutput(buf, doc, cur, encoding); - cur = cur->next; - } -} - - - -/** - * htmlNodeListDumpOutput: - * @buf: the HTML buffer output - * @doc: the document - * @cur: the first node - * @encoding: the encoding string - * @format: should formatting spaces been added - * - * Dump an HTML node list, recursive behaviour,children are printed too. - */ -static void -htmlNodeListDumpOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, - xmlNodePtr cur, const char *encoding, int format) { - if (cur == NULL) { - return; - } - while (cur != NULL) { - htmlNodeDumpFormatOutput(buf, doc, cur, encoding, format); - cur = cur->next; - } -} - -/** * htmlNodeDumpFormatOutput: * @buf: the HTML buffer output * @doc: the document @@ -816,6 +772,8 @@ htmlNodeListDumpOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, void htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur, const char *encoding, int format) { + xmlNodePtr root; + xmlAttrPtr attr; const htmlElemDesc * info; xmlInitParser(); @@ -823,172 +781,193 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, if ((cur == NULL) || (buf == NULL)) { return; } - /* - * Special cases. - */ - if (cur->type == XML_DTD_NODE) - return; - if ((cur->type == XML_HTML_DOCUMENT_NODE) || - (cur->type == XML_DOCUMENT_NODE)){ - htmlDocContentDumpOutput(buf, (xmlDocPtr) cur, encoding); - return; - } - if (cur->type == XML_ATTRIBUTE_NODE) { - htmlAttrDumpOutput(buf, doc, (xmlAttrPtr) cur, encoding); - return; - } - if (cur->type == HTML_TEXT_NODE) { - if (cur->content != NULL) { - if (((cur->name == (const xmlChar *)xmlStringText) || - (cur->name != (const xmlChar *)xmlStringTextNoenc)) && - ((cur->parent == NULL) || - ((xmlStrcasecmp(cur->parent->name, BAD_CAST "script")) && - (xmlStrcasecmp(cur->parent->name, BAD_CAST "style"))))) { - xmlChar *buffer; - - buffer = xmlEncodeEntitiesReentrant(doc, cur->content); - if (buffer != NULL) { - xmlOutputBufferWriteString(buf, (const char *)buffer); - xmlFree(buffer); - } - } else { - xmlOutputBufferWriteString(buf, (const char *)cur->content); - } - } - return; - } - if (cur->type == HTML_COMMENT_NODE) { - if (cur->content != NULL) { - xmlOutputBufferWriteString(buf, "<!--"); - xmlOutputBufferWriteString(buf, (const char *)cur->content); - xmlOutputBufferWriteString(buf, "-->"); - } - return; - } - if (cur->type == HTML_PI_NODE) { - if (cur->name == NULL) - return; - xmlOutputBufferWriteString(buf, "<?"); - xmlOutputBufferWriteString(buf, (const char *)cur->name); - if (cur->content != NULL) { - xmlOutputBufferWriteString(buf, " "); - xmlOutputBufferWriteString(buf, (const char *)cur->content); - } - xmlOutputBufferWriteString(buf, ">"); - return; - } - if (cur->type == HTML_ENTITY_REF_NODE) { - xmlOutputBufferWriteString(buf, "&"); - xmlOutputBufferWriteString(buf, (const char *)cur->name); - xmlOutputBufferWriteString(buf, ";"); - return; - } - if (cur->type == HTML_PRESERVE_NODE) { - if (cur->content != NULL) { - xmlOutputBufferWriteString(buf, (const char *)cur->content); - } - return; - } - /* - * Get specific HTML info for that node. - */ - if (cur->ns == NULL) - info = htmlTagLookup(cur->name); - else - info = NULL; + root = cur; + while (1) { + switch (cur->type) { + case XML_HTML_DOCUMENT_NODE: + case XML_DOCUMENT_NODE: + if (((xmlDocPtr) cur)->intSubset != NULL) { + htmlDtdDumpOutput(buf, (xmlDocPtr) cur, NULL); + } + if (cur->children != NULL) { + cur = cur->children; + continue; + } + break; - xmlOutputBufferWriteString(buf, "<"); - if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { - xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix); - xmlOutputBufferWriteString(buf, ":"); - } - xmlOutputBufferWriteString(buf, (const char *)cur->name); - if (cur->nsDef) - xmlNsListDumpOutput(buf, cur->nsDef); - if (cur->properties != NULL) - htmlAttrListDumpOutput(buf, doc, cur->properties, encoding); - - if ((info != NULL) && (info->empty)) { - xmlOutputBufferWriteString(buf, ">"); - if ((format) && (!info->isinline) && (cur->next != NULL)) { - if ((cur->next->type != HTML_TEXT_NODE) && - (cur->next->type != HTML_ENTITY_REF_NODE) && - (cur->parent != NULL) && - (cur->parent->name != NULL) && - (cur->parent->name[0] != 'p')) /* p, pre, param */ - xmlOutputBufferWriteString(buf, "\n"); - } - return; - } - if (((cur->type == XML_ELEMENT_NODE) || (cur->content == NULL)) && - (cur->children == NULL)) { - if ((info != NULL) && (info->saveEndTag != 0) && - (xmlStrcmp(BAD_CAST info->name, BAD_CAST "html")) && - (xmlStrcmp(BAD_CAST info->name, BAD_CAST "body"))) { - xmlOutputBufferWriteString(buf, ">"); - } else { - xmlOutputBufferWriteString(buf, "></"); + case XML_ELEMENT_NODE: + /* + * Get specific HTML info for that node. + */ + if (cur->ns == NULL) + info = htmlTagLookup(cur->name); + else + info = NULL; + + xmlOutputBufferWriteString(buf, "<"); if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix); xmlOutputBufferWriteString(buf, ":"); } - xmlOutputBufferWriteString(buf, (const char *)cur->name); - xmlOutputBufferWriteString(buf, ">"); - } - if ((format) && (cur->next != NULL) && - (info != NULL) && (!info->isinline)) { - if ((cur->next->type != HTML_TEXT_NODE) && - (cur->next->type != HTML_ENTITY_REF_NODE) && - (cur->parent != NULL) && - (cur->parent->name != NULL) && - (cur->parent->name[0] != 'p')) /* p, pre, param */ - xmlOutputBufferWriteString(buf, "\n"); - } - return; - } - xmlOutputBufferWriteString(buf, ">"); - if ((cur->type != XML_ELEMENT_NODE) && - (cur->content != NULL)) { - /* - * Uses the OutputBuffer property to automatically convert - * invalids to charrefs - */ - - xmlOutputBufferWriteString(buf, (const char *) cur->content); - } - if (cur->children != NULL) { - if ((format) && (info != NULL) && (!info->isinline) && - (cur->children->type != HTML_TEXT_NODE) && - (cur->children->type != HTML_ENTITY_REF_NODE) && - (cur->children != cur->last) && - (cur->name != NULL) && - (cur->name[0] != 'p')) /* p, pre, param */ - xmlOutputBufferWriteString(buf, "\n"); - htmlNodeListDumpOutput(buf, doc, cur->children, encoding, format); - if ((format) && (info != NULL) && (!info->isinline) && - (cur->last->type != HTML_TEXT_NODE) && - (cur->last->type != HTML_ENTITY_REF_NODE) && - (cur->children != cur->last) && - (cur->name != NULL) && - (cur->name[0] != 'p')) /* p, pre, param */ - xmlOutputBufferWriteString(buf, "\n"); - } - xmlOutputBufferWriteString(buf, "</"); - if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { - xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix); - xmlOutputBufferWriteString(buf, ":"); - } - xmlOutputBufferWriteString(buf, (const char *)cur->name); - xmlOutputBufferWriteString(buf, ">"); - if ((format) && (info != NULL) && (!info->isinline) && - (cur->next != NULL)) { - if ((cur->next->type != HTML_TEXT_NODE) && - (cur->next->type != HTML_ENTITY_REF_NODE) && - (cur->parent != NULL) && - (cur->parent->name != NULL) && - (cur->parent->name[0] != 'p')) /* p, pre, param */ - xmlOutputBufferWriteString(buf, "\n"); + xmlOutputBufferWriteString(buf, (const char *)cur->name); + if (cur->nsDef) + xmlNsListDumpOutput(buf, cur->nsDef); + attr = cur->properties; + while (attr != NULL) { + htmlAttrDumpOutput(buf, doc, attr, encoding); + attr = attr->next; + } + + if ((info != NULL) && (info->empty)) { + xmlOutputBufferWriteString(buf, ">"); + } else if (cur->children == NULL) { + if ((info != NULL) && (info->saveEndTag != 0) && + (xmlStrcmp(BAD_CAST info->name, BAD_CAST "html")) && + (xmlStrcmp(BAD_CAST info->name, BAD_CAST "body"))) { + xmlOutputBufferWriteString(buf, ">"); + } else { + xmlOutputBufferWriteString(buf, "></"); + if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { + xmlOutputBufferWriteString(buf, + (const char *)cur->ns->prefix); + xmlOutputBufferWriteString(buf, ":"); + } + xmlOutputBufferWriteString(buf, (const char *)cur->name); + xmlOutputBufferWriteString(buf, ">"); + } + } else { + xmlOutputBufferWriteString(buf, ">"); + if ((format) && (info != NULL) && (!info->isinline) && + (cur->children->type != HTML_TEXT_NODE) && + (cur->children->type != HTML_ENTITY_REF_NODE) && + (cur->children != cur->last) && + (cur->name != NULL) && + (cur->name[0] != 'p')) /* p, pre, param */ + xmlOutputBufferWriteString(buf, "\n"); + cur = cur->children; + continue; + } + + if ((format) && (cur->next != NULL) && + (info != NULL) && (!info->isinline)) { + if ((cur->next->type != HTML_TEXT_NODE) && + (cur->next->type != HTML_ENTITY_REF_NODE) && + (cur->parent != NULL) && + (cur->parent->name != NULL) && + (cur->parent->name[0] != 'p')) /* p, pre, param */ + xmlOutputBufferWriteString(buf, "\n"); + } + + break; + + case XML_ATTRIBUTE_NODE: + htmlAttrDumpOutput(buf, doc, (xmlAttrPtr) cur, encoding); + break; + + case HTML_TEXT_NODE: + if (cur->content == NULL) + break; + if (((cur->name == (const xmlChar *)xmlStringText) || + (cur->name != (const xmlChar *)xmlStringTextNoenc)) && + ((cur->parent == NULL) || + ((xmlStrcasecmp(cur->parent->name, BAD_CAST "script")) && + (xmlStrcasecmp(cur->parent->name, BAD_CAST "style"))))) { + xmlChar *buffer; + + buffer = xmlEncodeEntitiesReentrant(doc, cur->content); + if (buffer != NULL) { + xmlOutputBufferWriteString(buf, (const char *)buffer); + xmlFree(buffer); + } + } else { + xmlOutputBufferWriteString(buf, (const char *)cur->content); + } + break; + + case HTML_COMMENT_NODE: + if (cur->content != NULL) { + xmlOutputBufferWriteString(buf, "<!--"); + xmlOutputBufferWriteString(buf, (const char *)cur->content); + xmlOutputBufferWriteString(buf, "-->"); + } + break; + + case HTML_PI_NODE: + if (cur->name != NULL) { + xmlOutputBufferWriteString(buf, "<?"); + xmlOutputBufferWriteString(buf, (const char *)cur->name); + if (cur->content != NULL) { + xmlOutputBufferWriteString(buf, " "); + xmlOutputBufferWriteString(buf, + (const char *)cur->content); + } + xmlOutputBufferWriteString(buf, ">"); + } + break; + + case HTML_ENTITY_REF_NODE: + xmlOutputBufferWriteString(buf, "&"); + xmlOutputBufferWriteString(buf, (const char *)cur->name); + xmlOutputBufferWriteString(buf, ";"); + break; + + case HTML_PRESERVE_NODE: + if (cur->content != NULL) { + xmlOutputBufferWriteString(buf, (const char *)cur->content); + } + break; + + default: + break; + } + + while (1) { + if (cur == root) + return; + if (cur->next != NULL) { + cur = cur->next; + break; + } + + cur = cur->parent; + + if ((cur->type == XML_HTML_DOCUMENT_NODE) || + (cur->type == XML_DOCUMENT_NODE)) { + xmlOutputBufferWriteString(buf, "\n"); + } else { + if ((format) && (cur->ns == NULL)) + info = htmlTagLookup(cur->name); + else + info = NULL; + + if ((format) && (info != NULL) && (!info->isinline) && + (cur->last->type != HTML_TEXT_NODE) && + (cur->last->type != HTML_ENTITY_REF_NODE) && + (cur->children != cur->last) && + (cur->name != NULL) && + (cur->name[0] != 'p')) /* p, pre, param */ + xmlOutputBufferWriteString(buf, "\n"); + + xmlOutputBufferWriteString(buf, "</"); + if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { + xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix); + xmlOutputBufferWriteString(buf, ":"); + } + xmlOutputBufferWriteString(buf, (const char *)cur->name); + xmlOutputBufferWriteString(buf, ">"); + + if ((format) && (info != NULL) && (!info->isinline) && + (cur->next != NULL)) { + if ((cur->next->type != HTML_TEXT_NODE) && + (cur->next->type != HTML_ENTITY_REF_NODE) && + (cur->parent != NULL) && + (cur->parent->name != NULL) && + (cur->parent->name[0] != 'p')) /* p, pre, param */ + xmlOutputBufferWriteString(buf, "\n"); + } + } + } } } @@ -1020,26 +999,7 @@ htmlNodeDumpOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, void htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr cur, const char *encoding, int format) { - int type; - - xmlInitParser(); - - if ((buf == NULL) || (cur == NULL)) - return; - - /* - * force to output the stuff as HTML, especially for entities - */ - type = cur->type; - cur->type = XML_HTML_DOCUMENT_NODE; - if (cur->intSubset != NULL) { - htmlDtdDumpOutput(buf, cur, NULL); - } - if (cur->children != NULL) { - htmlNodeListDumpOutput(buf, cur, cur->children, encoding, format); - } - xmlOutputBufferWriteString(buf, "\n"); - cur->type = (xmlElementType) type; + htmlNodeDumpFormatOutput(buf, cur, (xmlNodePtr) cur, encoding, format); } /** @@ -1048,12 +1008,12 @@ htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr cur, * @cur: the document * @encoding: the encoding string * - * Dump an HTML document. Formating return/spaces are added. + * Dump an HTML document. Formatting return/spaces are added. */ void htmlDocContentDumpOutput(xmlOutputBufferPtr buf, xmlDocPtr cur, const char *encoding) { - htmlDocContentDumpFormatOutput(buf, cur, encoding, 1); + htmlNodeDumpFormatOutput(buf, cur, (xmlNodePtr) cur, encoding, 1); } /************************************************************************ diff --git a/INSTALL.libxml2 b/INSTALL.libxml2 index fdf31f3b..383fb935 100644 --- a/INSTALL.libxml2 +++ b/INSTALL.libxml2 @@ -26,7 +26,7 @@ Compilation At that point you may have to rerun ldconfig or similar utility to update your list of installed shared libs. - At this point you can check that the library is properly functionning + At this point you can check that the library is properly functioning by running make tests @@ -1,9 +1,5 @@ name: "libxml2" -description: - "Libxml2 is the XML C parser and toolkit developed for the Gnome project " - "(but usable outside of the Gnome platform), it is free software " - "available under the MIT License." - +description: "Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform), it is free software available under the MIT License." third_party { url { type: HOMEPAGE @@ -11,9 +7,13 @@ third_party { } url { type: ARCHIVE - value: "ftp://xmlsoft.org/libxml2/libxml2-2.9.9.tar.gz" + value: "https://github.com/GNOME/libxml2/archive/1a360c1c2ec950f478d55b31722ecf78f5698e97.zip" } - version: "2.9.9" - last_upgrade_date { year: 2019 month: 1 day: 3 } + version: "1a360c1c2ec950f478d55b31722ecf78f5698e97" license_type: NOTICE + last_upgrade_date { + year: 2020 + month: 7 + day: 31 + } } diff --git a/Makefile.am b/Makefile.am index 9c630be4..76a834ef 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,7 +2,7 @@ ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = include . doc example xstc $(PYTHON_SUBDIR) +SUBDIRS = include . doc example fuzz xstc $(PYTHON_SUBDIR) DIST_SUBDIRS = include . doc example python xstc @@ -126,11 +126,7 @@ testC14N_LDFLAGS = testC14N_DEPENDENCIES = $(DEPS) testC14N_LDADD= $(LDADDS) -if THREADS_W32 -testThreads_SOURCES = testThreadsWin32.c -else testThreads_SOURCES = testThreads.c -endif testThreads_LDFLAGS = testThreads_DEPENDENCIES = $(DEPS) testThreads_LDADD= $(BASE_THREAD_LIBS) $(LDADDS) @@ -214,6 +210,7 @@ runtests: runtest$(EXEEXT) testrecurse$(EXEEXT) testapi$(EXEEXT) \ $(CHECKER) ./runxmlconf$(EXEEXT) @(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \ $(MAKE) tests ; fi) + @cd fuzz; $(MAKE) tests check: all runtests @@ -910,16 +907,21 @@ Regexptests: testRegexp$(EXEEXT) if [ ! -d $$i ] ; then \ if [ ! -f $(srcdir)/result/regexp/$$name ] ; then \ echo New test file $$name ; \ - $(CHECKER) $(top_builddir)/testRegexp -i $$i > $(srcdir)/result/regexp/$$name; \ + $(CHECKER) $(top_builddir)/testRegexp -i $$i > $(srcdir)/result/regexp/$$name 2> $(srcdir)/result/regexp/$$name.err ; \ + if [ ! -s "$(srcdir)/result/regexp/$$name.err" ] ; then rm $(srcdir)/result/regexp/$$name.err; fi ; \ grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ else \ - log=`$(CHECKER) $(top_builddir)/testRegexp -i $$i 2>&1 > result.$$name ; \ + log=`$(CHECKER) $(top_builddir)/testRegexp -i $$i > result.$$name 2> error.$$name ; \ grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ - diff $(srcdir)/result/regexp/$$name result.$$name` ; \ - if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \ - rm result.$$name ; \ + diff $(srcdir)/result/regexp/$$name result.$$name ; \ + if [ -s "$(srcdir)/result/regexp/$$name.err" -o -s "error.$$name" ] ; then diff $(srcdir)/result/regexp/$$name.err error.$$name ; fi` ; \ + if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \ + rm result.$$name error.$$name ; \ fi ; fi ; done) - @echo "## Formal expresssions regression tests" + +# Disabled for now +Exptests: testRegexp$(EXEEXT) + @echo "## Formal expressions regression tests" -@(for i in $(srcdir)/test/expr/* ; do \ name=`basename $$i`; \ if [ ! -d $$i ] ; then \ @@ -1235,6 +1237,7 @@ xml2Conf.sh: xml2Conf.sh.in Makefile -e 's?\@XML_INCLUDEDIR\@?$(XML_INCLUDEDIR)?g' \ -e 's?\@VERSION\@?$(VERSION)?g' \ -e 's?\@XML_LIBS\@?$(XML_LIBS)?g' \ + -e 's?\@XML_PRIVATE_LIBS\@?$(XML_PRIVATE_LIBS)?g' \ < $(srcdir)/xml2Conf.sh.in > xml2Conf.tmp \ && mv xml2Conf.tmp xml2Conf.sh @@ -1253,7 +1256,7 @@ EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml2.spec \ 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 \ + enc.h save.h genUnicode.py TODO_SCHEMAS \ dbgen.pl dbgenattr.pl regressions.py regressions.xml \ README.tests Makefile.tests libxml2.syms timsort.h \ README.zOS \ diff --git a/Makefile.tests b/Makefile.tests index 619cbfb8..9f08dcfd 100644 --- a/Makefile.tests +++ b/Makefile.tests @@ -1,5 +1,5 @@ # -# You may have to ajust to call the right compiler, or other oprions +# You may have to adjust to call the right compiler, or other options # for compiling and linking # @@ -8,8 +8,451 @@ The change log at ChangeLog.html describes the recents commits to the GIT at -http://git.gnome.org/browse/libxml2/ +https://gitlab.gnome.org/GNOME/libxml2 code base.Here is the list of public releases: +v2.9.9: Jan 03 2019: + - Security: + CVE-2018-9251 CVE-2018-14567 Fix infinite loop in LZMA decompression (Nick Wellnhofer), + CVE-2018-14404 Fix nullptr deref with XPath logic ops (Nick Wellnhofer), + + - Documentation: + reader: Fix documentation comment (Mohammed Sadiq) + + - Portability: + Fix MSVC build with lzma (Nick Wellnhofer), + Variables need 'extern' in static lib on Cygwin (Michael Haubenwallner), + Really declare dllexport/dllimport for Cygwin (Michael Haubenwallner), + Merge branch 'patch-2' into 'master' (Nick Wellnhofer), + Change dir to $THEDIR after ACLOCAL_PATH check autoreconf creates aclocal.m4 in $srcdir (Vitaly Buka), + Improve error message if pkg.m4 couldn't be found (Nick Wellnhofer), + NaN and Inf fixes for pre-C99 compilers (Nick Wellnhofer) + + - Bug Fixes: + Revert "Support xmlTextReaderNextSibling w/o preparsed doc" (Nick Wellnhofer), + Fix building relative URIs (Thomas Holder), + Problem with data in interleave in RelaxNG validation (Nikolai Weibull), + Fix memory leak in xmlSwitchInputEncodingInt error path (Nick Wellnhofer), + Set doc on element obtained from freeElems (Nick Wellnhofer), + Fix HTML serialization with UTF-8 encoding (Nick Wellnhofer), + Use actual doc in xmlTextReaderRead*Xml (Nick Wellnhofer), + Unlink node before freeing it in xmlSAX2StartElement (Nick Wellnhofer), + Check return value of nodePush in xmlSAX2StartElement (Nick Wellnhofer), + Free input buffer in xmlHaltParser (Nick Wellnhofer), + Reset HTML parser input pointers on encoding failure (Nick Wellnhofer), + Don't run icu_parse_test if EUC-JP is unsupported (Nick Wellnhofer), + Fix xmlSchemaValidCtxtPtr reuse memory leak (Greg Hildstrom), + Fix xmlTextReaderNext with preparsed document (Felix Bünemann), + Remove stray character from comment (Nick Wellnhofer), + Remove a misleading line from xmlCharEncOutput (Andrey Bienkowski), + HTML noscript should not close p (Daniel Veillard), + Don't change context node in xmlXPathRoot (Nick Wellnhofer), + Stop using XPATH_OP_RESET (Nick Wellnhofer), + Revert "Change calls to xmlCharEncInput to set flush false" (Nick Wellnhofer) + + - Improvements: + Fix "Problem with data in interleave in RelaxNG validation" (Nikolai Weibull), + cleanup: remove some unreachable code (Thomas Holder), + add --relative to testURI (Thomas Holder), + Remove redefined starts and defines inside include elements (Nikolai Weibull), + Allow choice within choice in nameClass in RELAX NG (Nikolai Weibull), + Look inside divs for starts and defines inside include (Nikolai Weibull), + Add compile and libxml2-config.cmake to .gitignore (Nikolai Weibull), + Stop using doc->charset outside parser code (Nick Wellnhofer), + Add newlines to 'xmllint --xpath' output (Nick Wellnhofer), + Don't include SAX.h from globals.h (Nick Wellnhofer), + Support xmlTextReaderNextSibling w/o preparsed doc (Felix Bünemann), + Don't instruct user to run make when autogen.sh failed (æž—åšä»(Buo-ren Lin)), + Run Travis ASan tests with "sudo: required" (Nick Wellnhofer), + Improve restoring of context size and position (Nick Wellnhofer), + Simplify and harden nodeset filtering (Nick Wellnhofer), + Avoid unnecessary backups of the context node (Nick Wellnhofer), + Fix inconsistency in xmlXPathIsInf (Nick Wellnhofer) + + - Cleanups: + + + +v2.9.8: Mar 05 2018: + - Portability: + python: remove single use of _PyVerify_fd (Patrick Welche), + Build more test executables on Windows/MSVC (Nick Wellnhofer), + Stop including ansidecl.h (Nick Wellnhofer), + Fix libz and liblzma detection (Nick Wellnhofer), + Revert "Compile testapi with -Wno-unused-function" (Nick Wellnhofer) + + - Bug Fixes: + Fix xmlParserEntityCheck (Nick Wellnhofer), + Halt parser in case of encoding error (Nick Wellnhofer), + Clear entity content in case of errors (Nick Wellnhofer), + Change calls to xmlCharEncInput to set flush false when not final call. Having flush incorrectly set to true causes errors for ICU. (Joel Hockey), + Fix buffer over-read in xmlParseNCNameComplex (Nick Wellnhofer), + Fix ICU library filenames on Windows/MSVC (Nick Wellnhofer), + Fix xmlXPathIsNaN broken by recent commit (Nick Wellnhofer), + Fix -Wenum-compare warnings (Nick Wellnhofer), + Fix callback signature in testapi.c (Nick Wellnhofer), + Fix unused parameter warning without ICU (Nick Wellnhofer), + Fix IO callback signatures (Nick Wellnhofer), + Fix misc callback signatures (Nick Wellnhofer), + Fix list callback signatures (Nick Wellnhofer), + Fix hash callback signatures (Nick Wellnhofer), + Refactor name and type signature for xmlNop (Vlad Tsyrklevich), + Fixed ICU to set flush correctly and provide pivot buffer. (Joel Hockey), + Skip EBCDIC tests if EBCDIC isn't supported (Nick Wellnhofer) + + - Improvements: + Disable pointer-overflow UBSan checks under Travis (Nick Wellnhofer), + Improve handling of context input_id (Daniel Veillard), + Add resource file to Windows DLL (ccpaging), + Run Travis tests with -Werror (Nick Wellnhofer), + Build with "-Wall -Wextra" (Nick Wellnhofer), + Fix -Wtautological-pointer-compare warnings (Nick Wellnhofer), + Remove unused AC_CHECKs (Nick Wellnhofer), + Update information about contributing (Nick Wellnhofer), + Fix -Wmisleading-indentation warnings (Nick Wellnhofer), + Don't touch CFLAGS in configure.ac (Nick Wellnhofer), + Ignore function pointer cast warnings (Nick Wellnhofer), + Simplify XPath NaN, inf and -0 handling (Nick Wellnhofer), + Introduce xmlPosixStrdup and update xmlMemStrdup (Nick Wellnhofer), + Add test for ICU flush and pivot buffer (Nick Wellnhofer), + Compile testapi with -Wno-unused-function (Nick Wellnhofer) + + + +2.9.7: Nov 02 2017: + - Documentation: + xmlcatalog: refresh man page wrt. quering system catalog easily (Jan Pokorný) + + - Portability: + Fix deprecated Travis compiler flag (Nick Wellnhofer), + Add declaration for DllMain (J. Peter Mugaas), + Fix preprocessor conditional in threads.h (J. Peter Mugaas), + Fix pointer comparison warnings on 64-bit Windows (J. Peter Mugaas), + Fix macro redefinition warning (J. Peter Mugaas), + Default to native threads on MinGW-w64 (Nick Wellnhofer), + Simplify Windows IO functions (Nick Wellnhofer), + Fix runtest on Windows (Nick Wellnhofer), + socklen_t is always int on Windows (Nick Wellnhofer), + Don't redefine socket error codes on Windows (Nick Wellnhofer), + Fix pointer/int cast warnings on 64-bit Windows (Nick Wellnhofer), + Fix Windows compiler warnings in xmlCanonicPath (Nick Wellnhofer) + + - Bug Fixes: + xmlcatalog: restore ability to query system catalog easily (Jan Pokorný), + Fix comparison of nodesets to strings (Nick Wellnhofer) + + - Improvements: + Add Makefile rules to rebuild HTML man pages (Nick Wellnhofer), + Fix mixed decls and code in timsort.h (Nick Wellnhofer), + Rework handling of return values in thread tests (Nick Wellnhofer), + Fix unused variable warnings in testrecurse (Nick Wellnhofer), + Fix -Wimplicit-fallthrough warnings (J. Peter Mugaas), + Upgrade timsort.h to latest revision (Nick Wellnhofer), + Increase warning level to /W3 under MSVC (Nick Wellnhofer), + Fix a couple of warnings in dict.c and threads.c (Nick Wellnhofer), + Update .gitignore for Windows (Nick Wellnhofer), + Fix unused variable warnings in nanohttp.c (Nick Wellnhofer), + Fix the Windows header mess (Nick Wellnhofer), + Don't include winsock2.h in xmllint.c (Nick Wellnhofer), + Remove generated file python/setup.py from version control (Nick Wellnhofer), + Use __linux__ macro in generated code (Nick Wellnhofer) + + + +v2.9.6: Oct 06 2017: + - Portability: + Change preprocessor OS tests to __linux__ (Nick Wellnhofer) + + - Bug Fixes: + Fix XPath stack frame logic (Nick Wellnhofer), + Report undefined XPath variable error message (Nick Wellnhofer), + Fix regression with librsvg (Nick Wellnhofer), + Handle more invalid entity values in recovery mode (Nick Wellnhofer), + Fix structured validation errors (Nick Wellnhofer), + Fix memory leak in LZMA decompressor (Nick Wellnhofer), + Set memory limit for LZMA decompression (Nick Wellnhofer), + Handle illegal entity values in recovery mode (Nick Wellnhofer), + Fix debug dump of streaming XPath expressions (Nick Wellnhofer), + Fix memory leak in nanoftp (Nick Wellnhofer), + Fix memory leaks in SAX1 parser (Nick Wellnhofer) + + + +v2.9.5: Sep 04 2017: + - Security: + Detect infinite recursion in parameter entities (Nick Wellnhofer), + Fix handling of parameter-entity references (Nick Wellnhofer), + Disallow namespace nodes in XPointer ranges (Nick Wellnhofer), + Fix XPointer paths beginning with range-to (Nick Wellnhofer) + + - Documentation: + Documentation fixes (Nick Wellnhofer), + Spelling and grammar fixes (Nick Wellnhofer) + + - Portability: + Adding README.zOS to list of extra files for the release (Daniel Veillard), + Description of work needed to compile on zOS (Stéphane Michaut), + Porting libxml2 on zOS encoding of code (Stéphane Michaut), + small changes for OS/400 (Patrick Monnerat), + relaxng.c, xmlschemas.c: Fix build on pre-C99 compilers (Chun-wei Fan) + + - Bug Fixes: + Problem resolving relative URIs (Daniel Veillard), + Fix unwanted warnings when switching encodings (Nick Wellnhofer), + Fix signature of xmlSchemaAugmentImportedIDC (Daniel Veillard), + Heap-buffer-overflow read of size 1 in xmlFAParsePosCharGroup (David Kilzer), + Fix NULL pointer deref in xmlFAParseCharClassEsc (Nick Wellnhofer), + Fix infinite loops with push parser in recovery mode (Nick Wellnhofer), + Send xmllint usage error to stderr (Nick Wellnhofer), + Fix NULL deref in xmlParseExternalEntityPrivate (Nick Wellnhofer), + Make sure not to call IS_BLANK_CH when parsing the DTD (Nick Wellnhofer), + Fix xmlHaltParser (Nick Wellnhofer), + Fix pathological performance when outputting charrefs (Nick Wellnhofer), + Fix invalid-source-encoding warnings in testWriter.c (Nick Wellnhofer), + Fix duplicate SAX callbacks for entity content (David Kilzer), + Treat URIs with scheme as absolute in C14N (Nick Wellnhofer), + Fix copy-paste errors in error messages (Nick Wellnhofer), + Fix sanity check in htmlParseNameComplex (Nick Wellnhofer), + Fix potential infinite loop in xmlStringLenDecodeEntities (Nick Wellnhofer), + Reset parser input pointers on encoding failure (Nick Wellnhofer), + Fix memory leak in xmlParseEntityDecl error path (Nick Wellnhofer), + Fix xmlBuildRelativeURI for URIs starting with './' (Nick Wellnhofer), + Fix type confusion in xmlValidateOneNamespace (Nick Wellnhofer), + Fix memory leak in xmlStringLenGetNodeList (Nick Wellnhofer), + Fix NULL pointer deref in xmlDumpElementContent (Daniel Veillard), + Fix memory leak in xmlBufAttrSerializeTxtContent (Nick Wellnhofer), + Stop parser on unsupported encodings (Nick Wellnhofer), + Check for integer overflow in memory debug code (Nick Wellnhofer), + Fix buffer size checks in xmlSnprintfElementContent (Nick Wellnhofer), + Avoid reparsing in xmlParseStartTag2 (Nick Wellnhofer), + Fix undefined behavior in xmlRegExecPushStringInternal (Nick Wellnhofer), + Check XPath exponents for overflow (Nick Wellnhofer), + Check for overflow in xmlXPathIsPositionalPredicate (Nick Wellnhofer), + Fix spurious error message (Nick Wellnhofer), + Fix memory leak in xmlCanonicPath (Nick Wellnhofer), + Fix memory leak in xmlXPathCompareNodeSetValue (Nick Wellnhofer), + Fix memory leak in pattern error path (Nick Wellnhofer), + Fix memory leak in parser error path (Nick Wellnhofer), + Fix memory leaks in XPointer error paths (Nick Wellnhofer), + Fix memory leak in xmlXPathNodeSetMergeAndClear (Nick Wellnhofer), + Fix memory leak in XPath filter optimizations (Nick Wellnhofer), + Fix memory leaks in XPath error paths (Nick Wellnhofer), + Do not leak the new CData node if adding fails (David Tardon), + Prevent unwanted external entity reference (Neel Mehta), + Increase buffer space for port in HTTP redirect support (Daniel Veillard), + Fix more NULL pointer derefs in xpointer.c (Nick Wellnhofer), + Avoid function/data pointer conversion in xpath.c (Nick Wellnhofer), + Fix format string warnings (Nick Wellnhofer), + Disallow namespace nodes in XPointer points (Nick Wellnhofer), + Fix comparison with root node in xmlXPathCmpNodes (Nick Wellnhofer), + Fix attribute decoding during XML schema validation (Alex Henrie), + Fix NULL pointer deref in XPointer range-to (Nick Wellnhofer) + + - Improvements: + Updating the spec file to reflect Fedora 24 (Daniel Veillard), + Add const in five places to move 1 KiB to .rdata (Bruce Dawson), + Fix missing part of comment for function xmlXPathEvalExpression() (Daniel Veillard), + Get rid of "blanks wrapper" for parameter entities (Nick Wellnhofer), + Simplify handling of parameter entity references (Nick Wellnhofer), + Deduplicate code in encoding.c (Nick Wellnhofer), + Make HTML parser functions take const pointers (Nick Wellnhofer), + Build test programs only when needed (Nick Wellnhofer), + Fix doc/examples/index.py (Nick Wellnhofer), + Fix compiler warnings in threads.c (Nick Wellnhofer), + Fix empty-body warning in nanohttp.c (Nick Wellnhofer), + Fix cast-align warnings (Nick Wellnhofer), + Fix unused-parameter warnings (Nick Wellnhofer), + Rework entity boundary checks (Nick Wellnhofer), + Don't switch encoding for internal parameter entities (Nick Wellnhofer), + Merge duplicate code paths handling PE references (Nick Wellnhofer), + Test SAX2 callbacks with entity substitution (Nick Wellnhofer), + Support catalog and threads tests under --without-sax1 (Nick Wellnhofer), + Misc fixes for 'make tests' (Nick Wellnhofer), + Initialize keepBlanks in HTML parser (Nick Wellnhofer), + Add test cases for bug 758518 (David Kilzer), + Fix compiler warning in htmlParseElementInternal (Nick Wellnhofer), + Remove useless check in xmlParseAttributeListDecl (Nick Wellnhofer), + Allow zero sized memory input buffers (Nick Wellnhofer), + Add TODO comment in xmlSwitchEncoding (Nick Wellnhofer), + Check for integer overflow in xmlXPathFormatNumber (Nick Wellnhofer), + Make Travis print UBSan stacktraces (Nick Wellnhofer), + Add .travis.yml (Nick Wellnhofer), + Fix expected error output in Python tests (Nick Wellnhofer), + Simplify control flow in xmlParseStartTag2 (Nick Wellnhofer), + Disable LeakSanitizer when running API tests (Nick Wellnhofer), + Avoid out-of-bound array access in API tests (Nick Wellnhofer), + Avoid spurious UBSan errors in parser.c (Nick Wellnhofer), + Parse small XPath numbers more accurately (Nick Wellnhofer), + Rework XPath rounding functions (Nick Wellnhofer), + Fix white space in test output (Nick Wellnhofer), + Fix axis traversal from attribute and namespace nodes (Nick Wellnhofer), + Check for trailing characters in XPath expressions earlier (Nick Wellnhofer), + Rework final handling of XPath results (Nick Wellnhofer), + Make xmlXPathEvalExpression call xmlXPathEval (Nick Wellnhofer), + Remove unused variables (Nick Wellnhofer), + Don't print generic error messages in XPath tests (Nick Wellnhofer) + + - Cleanups: + Fix a couple of misleading indentation errors (Daniel Veillard), + Remove unnecessary calls to xmlPopInput (Nick Wellnhofer) + + + +2.9.4: May 23 2016: + - Security: + More format string warnings with possible format string vulnerability (David Kilzer), + Avoid building recursive entities (Daniel Veillard), + Heap-based buffer overread in htmlCurrentChar (Pranjal Jumde), + Heap-based buffer-underreads due to xmlParseName (David Kilzer), + Heap use-after-free in xmlSAX2AttributeNs (Pranjal Jumde), + Heap use-after-free in htmlParsePubidLiteral and htmlParseSystemiteral (Pranjal Jumde), + Fix some format string warnings with possible format string vulnerability (David Kilzer), + Detect change of encoding when parsing HTML names (Hugh Davenport), + Fix inappropriate fetch of entities content (Daniel Veillard), + Bug 759398: Heap use-after-free in xmlDictComputeFastKey <https://bugzilla.gnome.org/show_bug.cgi?id=759398> (Pranjal Jumde), + Bug 758605: Heap-based buffer overread in xmlDictAddString <https://bugzilla.gnome.org/show_bug.cgi?id=758605> (Pranjal Jumde), + Bug 758588: Heap-based buffer overread in xmlParserPrintFileContextInternal <https://bugzilla.gnome.org/show_bug.cgi?id=758588> (David Kilzer), + Bug 757711: heap-buffer-overflow in xmlFAParsePosCharGroup <https://bugzilla.gnome.org/show_bug.cgi?id=757711> (Pranjal Jumde), + Add missing increments of recursion depth counter to XML parser. (Peter Simons) + + - Documentation: + Fix typo: s{ ec -> cr }cipt (Jan Pokorný), + Fix typos: dictio{ nn -> n }ar{y,ies} (Jan Pokorný), + Fix typos: PATH_{ SEAPARATOR -> SEPARATOR } (Jan Pokorný), + Correct a typo. (Shlomi Fish) + + - Portability: + Correct the usage of LDFLAGS (Mattias Hansson), + Revert the use of SAVE_LDFLAGS in configure.ac (Mattias Hansson), + libxml2 hardcodes -L/lib in zlib/lzma tests which breaks cross-compiles (Mike Frysinger), + Fix apibuild for a recently added construct (Daniel Veillard), + Use pkg-config to locate zlib when possible (Stewart Brodie), + Use pkg-config to locate ICU when possible (Stewart Brodie), + Portability to non C99 compliant compilers (Patrick Monnerat), + dict.h: Move xmlDictPtr definition before includes to allow direct inclusion. (Patrick Monnerat), + os400: tell about xmllint and xmlcatalog in README400. (Patrick Monnerat), + os400: properly process SGML add in XMLCATALOG command. (Patrick Monnerat), + os400: implement CL command XMLCATALOG. (Patrick Monnerat), + os400: compile and install program xmlcatalog (qshell-only). (Patrick Monnerat), + os400: expand tabs in sources, strip trailing blanks. (Patrick Monnerat), + os400: implement CL command XMLLINT. (Patrick Monnerat), + os400: compile and install program xmllint (qshell-only). (Patrick Monnerat), + os400: initscript make_module(): Use options instead of positional parameters. (Patrick Monnerat), + os400: c14n.rpgle: allow *omit for nullable reference parameters. (Patrick Monnerat), + os400: use like() for double type. (Patrick Monnerat), + os400: use like() for int type. (Patrick Monnerat), + os400: use like() for unsigned int type. (Patrick Monnerat), + os400: use like() for enum types. (Patrick Monnerat), + Add xz to xml2-config --libs output (Baruch Siach), + Bug 760190: configure.ac should be able to build --with-icu without icu-config tool <https://bugzilla.gnome.org/show_bug.cgi?id=760190> (David Kilzer), + win32\VC10\config.h and VS 2015 (Bruce Dawson), + Add configure maintainer mode (orzen) + + - Bug Fixes: + Avoid an out of bound access when serializing malformed strings (Daniel Veillard), + Unsigned addition may overflow in xmlMallocAtomicLoc() (David Kilzer), + Integer signed/unsigned type mismatch in xmlParserInputGrow() (David Kilzer), + Bug 763071: heap-buffer-overflow in xmlStrncat <https://bugzilla.gnome.org/show_bug.cgi?id=763071> (Pranjal Jumde), + Integer overflow parsing port number in URI (Michael Paddon), + Fix an error with regexp on nullable counted char transition (Daniel Veillard), + Fix memory leak with XPath namespace nodes (Nick Wellnhofer), + Fix namespace axis traversal (Nick Wellnhofer), + Fix null pointer deref in docs with no root element (Hugh Davenport), + Fix XSD validation of URIs with ampersands (Alex Henrie), + xmlschemastypes.c: accept endOfDayFrag Times set to "24:00:00" mean "end of day" and should not cause an error. (Patrick Monnerat), + xmlcatalog: flush stdout before interactive shell input. (Patrick Monnerat), + xmllint: flush stdout before interactive shell input. (Patrick Monnerat), + Don't recurse into OP_VALUEs in xmlXPathOptimizeExpression (Nick Wellnhofer), + Fix namespace::node() XPath expression (Nick Wellnhofer), + Fix OOB write in xmlXPathEmptyNodeSet (Nick Wellnhofer), + Fix parsing of NCNames in XPath (Nick Wellnhofer), + Fix OOB read with invalid UTF-8 in xmlUTF8Strsize (Nick Wellnhofer), + Do normalize string-based datatype value in RelaxNG facet checking (Audric Schiltknecht), + Bug 760921: REGRESSION (8eb55d78): doc/examples/io1 test fails after fix for "xmlSaveUri() incorrectly recomposes URIs with rootless paths" <https://bugzilla.gnome.org/show_bug.cgi?id=760921> (David Kilzer), + Bug 760861: REGRESSION (bf9c1dad): Missing results for test/schemas/regexp-char-ref_[01].xsd <https://bugzilla.gnome.org/show_bug.cgi?id=760861> (David Kilzer), + error.c: *input->cur == 0 does not mean no error (Pavel Raiskup), + Add missing RNG test files (David Kilzer), + 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 <https://bugzilla.gnome.org/show_bug.cgi?id=760183> (David Kilzer), + Bug 758572: ASAN crash in make check <https://bugzilla.gnome.org/show_bug.cgi?id=758572> (David Kilzer), + Bug 721158: Missing ICU string when doing --version on xmllint <https://bugzilla.gnome.org/show_bug.cgi?id=721158> (David Kilzer), + python 3: libxml2.c wrappers create Unicode str already (Michael Stahl), + Add autogen.sh to distrib (orzen), + Heap-based buffer overread in xmlNextChar (Daniel Veillard) + + - Improvements: + Add more debugging info to runtest (Daniel Veillard), + Implement "runtest -u" mode (David Kilzer), + Add a make rule to rebuild for ASAN (Daniel Veillard) + + + +v2.9.3: Nov 20 2015: + - Security: + 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: + 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: + 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: + 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: + + + 2.9.2: Oct 16 2014: - Security: Fix for CVE-2014-3660 billion laugh variant (Daniel Veillard), @@ -845,7 +1288,7 @@ Gansterer), - Improvement: switch parser to XML-1.0 5th edition, add parsing flags for old versions, switch URI parsing to RFC 3986, add xmlSchemaValidCtxtGetParserCtxt (Holger Kaelberer), - new hashing functions for dictionaries (based on Stefan Behnel work), + new hashing functions for dictionnaries (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 @@ -955,7 +1398,7 @@ Gansterer), on Windows (Igor Zlatkovic), htmlCtxtReset fix (Michael Day), XPath principal node of axis bug, HTML serialization of some codepoint (Steven Rainwater), user data propagation in XInclude (Michael Day), - standalone and XML decl detection (Michael Day), Python id ouptut + standalone and XML decl detection (Michael Day), Python id output for some id, fix the big python string memory leak, URI parsing fixes (Stéphane Bidoul and William), long comments parsing bug (William), concurrent threads initialization (Ted Phelps), invalid char @@ -967,7 +1410,7 @@ Gansterer), min occurs of 0 (William), HTML script/style parsing (Mike Day) - Improvement: make xmlTextReaderSetup() public - Compilation and postability: fix a missing include problem (William), - __ss_familly on AIX again (Björn Wiberg), compilation without zlib + __ss_family on AIX again (Björn Wiberg), compilation without zlib (Michael Day), catalog patch for Win32 (Christian Ehrlicher), Windows CE fixes (Andreas Stricke) - Various CVS to SVN infrastructure changes @@ -1006,7 +1449,7 @@ Gansterer), fix attribute serialization in writer (Rob Richards), PHP4 DTD validation crasher, parser safety patch (Ben Darnell), _private context propagation when parsing entities (with Michael Day), fix entities behaviour when - using SAX, URI to file path fix (Mikhail Zabaluev), disapearing validity + using SAX, URI to file path fix (Mikhail Zabaluev), disappearing validity context, arg error in SAX callback (Mike Hommey), fix mixed-content autodetect when using --noblanks, fix xmlIOParseDTD error handling, fix bug in xmlSplitQName on special Names, fix Relax-NG element content @@ -1090,7 +1533,7 @@ Do not use or package 2.6.25 split problem (William), issues with non-namespaced attributes in xmlAddChild() xmlAddNextSibling() and xmlAddPrevSibling() (Rob Richards), HTML parsing of script, Python must not output to stdout (Nic Ferrier), - exclusive C14N namespace visibility (Aleksey Sanin), XSD dataype + exclusive C14N namespace visibility (Aleksey Sanin), XSD datatype totalDigits bug (Kasimier Buchcik), error handling when writing to an xmlBuffer (Rob Richards), runtest schemas error not reported (Hisashi Fujinaka), signed/unsigned problem in date/time code (Albert Chin), fix @@ -1099,7 +1542,7 @@ Do not use or package 2.6.25 (Gary Coady), regexp bug affecting schemas (Kasimier), configuration of runtime debugging (Kasimier), xmlNodeBufGetContent bug on entity refs (Oleksandr Kononenko), xmlRegExecPushString2 bug (Sreeni Nair), - compilation and build fixes (Michael Day), removed dependancies on + compilation and build fixes (Michael Day), removed dependencies on xmlSchemaValidError (Kasimier), bug with <xml:foo/>, more XPath pattern based evaluation fixes (Kasimier) - improvements: XSD Schemas redefinitions/restrictions (Kasimier @@ -1144,7 +1587,7 @@ Do not use or package 2.6.25 foreign namespaces handling, XML Schemas facet comparison (Kupriyanov Anatolij), xmlSchemaPSimpleTypeErr error report (Kasimier Buchcik), xml: namespace ahndling in Schemas (Kasimier), empty model group in Schemas - (Kasimier), wilcard in Schemas (Kasimier), URI composition (William), + (Kasimier), wildcard in Schemas (Kasimier), URI composition (William), xs:anyType in Schemas (Kasimier), Python resolver emmitting error messages directly, Python xmlAttr.parent (Jakub Piotr Clapa), trying to fix the file path/URI conversion, xmlTextReaderGetAttribute fix (Rob @@ -1231,7 +1674,7 @@ Do not use or package 2.6.25 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 dictionaries + xmlreader stopping on non-fatal errors, thread support for dictionnaries 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 @@ -1318,7 +1761,7 @@ Do not use or package 2.6.25 Buchcik), XInclude testing, Notation serialization, UTF8ToISO8859x transcoding (Mark Itzcovitz), lots of XML Schemas cleanup and fixes (Kasimier), ChangeLog cleanup (Stepan Kasal), memory fixes (Mark Vakoc), - handling of failed realloc(), out of bound array adressing in Schemas + handling of failed realloc(), out of bound array addressing in Schemas date handling, Python space/tabs cleanups (Malcolm Tredinnick), NMTOKENS E20 validation fix (Malcolm), - improvements: added W3C XML Schemas testsuite (Kasimier Buchcik), add @@ -1335,7 +1778,7 @@ Do not use or package 2.6.25 (Kasimier Buchcik), Schemas validation crash, xmlCheckUTF8 (William Brack and Julius Mittenzwei), Schemas facet check (Kasimier), default namespace problem (William), Schemas hexbinary empty values, encoding error could - genrate a serialization loop. + generate a serialization loop. - Improvements: Schemas validity improvements (Kasimier), added --path and --load-trace options to xmllint - documentation: tutorial update (John Fleck) @@ -1482,7 +1925,7 @@ Do not use or package 2.6.25 William) reported by Yuuichi Teranishi - bugfixes: make test and path issues, xmlWriter attribute serialization (William Brack), xmlWriter indentation (William), schemas validation - (Eric Haszlakiewicz), XInclude dictionaries issues (William and Oleg + (Eric Haszlakiewicz), XInclude dictionnaries 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 @@ -1493,7 +1936,7 @@ Do not use or package 2.6.25 --with-minimum configuration. - XInclude: allow the 2001 namespace without warning. - Documentation: missing example/index.html (John Fleck), version - dependancies (John Fleck) + dependencies (John Fleck) - reader API: structured error reporting (Steve Ball) - Windows compilation: mingw, msys (Mikhail Grushinskiy), function prototype (Cameron Johnson), MSVC6 compiler warnings, _WINSOCKAPI_ @@ -1503,7 +1946,7 @@ Do not use or package 2.6.25 2.6.5: Jan 25 2004: - - Bugfixes: dictionaries for schemas (William Brack), regexp segfault + - Bugfixes: dictionnaries 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 @@ -1627,7 +2070,7 @@ Do not use or package 2.6.25 intercepted at a structured level, with precise information available. - New simpler and more generic XML and HTML parser APIs, allowing to - easilly modify the parsing options and reuse parser context for multiple + easily modify the parsing options and reuse parser context for multiple consecutive documents. - Similar new APIs for the xmlReader, for options and reuse, provided new functions to access content as const strings, use them for Python @@ -8,6 +8,7 @@ This code is released under the MIT Licence see the Copyright file. To build on an Unixised setup: ./configure ; make ; make install + if the ./configure file does not exist, run ./autogen.sh instead. To build on Windows: see instructions on win32/Readme.txt @@ -18,7 +19,7 @@ To assert build quality: There is 3 standalone tools runtest.c runsuite.c testapi.c, which should compile as part of the build or as any application would. Launch them from this directory to get results, runtest checks - the proper functionning of libxml2 main APIs while testapi does + the proper functioning of libxml2 main APIs while testapi does a full coverage check. Report failures to the list. To report bugs, follow the instructions at: @@ -7,7 +7,7 @@ Notes for compiling on zOS: - since the name of files (or qualifier) in PDS are limited to 8 I had to rename xmlschemas.c and xmlschemastypes.c in (resp.) xmlsche.c xmlschet.c - (and I had to modify all occurences of these files accordingly in the + (and I had to modify all occurrences of these files accordingly in the rest of the Makefile !!!). - in order to copy objects to PDS, I had the cp command at line 860 @@ -40,7 +40,7 @@ * TODO: * * macro to flag unimplemented blocks - * XML_CATALOG_PREFER user env to select between system/public prefered + * XML_CATALOG_PREFER user env to select between system/public preferred * option. C.f. Richard Tobin <richard@cogsci.ed.ac.uk> *> Just FYI, I am using an environment variable XML_CATALOG_PREFER with *> values "system" and "public". I have made the default be "system" to @@ -590,36 +590,6 @@ xmlSAX2GetEntity(void *ctx, const xmlChar *name) } else { ret = xmlGetDocEntity(ctxt->myDoc, name); } - if ((ret != NULL) && - ((ctxt->validate) || (ctxt->replaceEntities)) && - (ret->children == NULL) && - (ret->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)) { - int val; - - /* - * for validation purposes we really need to fetch and - * parse the external entity - */ - xmlNodePtr children; - unsigned long oldnbent = ctxt->nbentities; - - val = xmlParseCtxtExternalEntity(ctxt, ret->URI, - ret->ExternalID, &children); - if (val == 0) { - xmlAddChildList((xmlNodePtr) ret, children); - } else { - xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_PROCESSING, - "Failure to process entity %s\n", name, NULL); - ctxt->validate = 0; - return(NULL); - } - ret->owner = 1; - if (ret->checked == 0) { - ret->checked = (ctxt->nbentities - oldnbent + 1) * 2; - if ((ret->content != NULL) && (xmlStrchr(ret->content, '<'))) - ret->checked |= 1; - } - } return(ret); } @@ -1512,8 +1482,8 @@ process_external_subset: attr = elemDecl->attributes; while (attr != NULL) { /* - * Make sure that attributes redefinition occuring in the - * internal subset are not overriden by definitions in the + * Make sure that attributes redefinition occurring in the + * internal subset are not overridden by definitions in the * external subset. */ if (attr->defaultValue != NULL) { @@ -1668,6 +1638,8 @@ xmlSAX2StartElement(void *ctx, const xmlChar *fullname, const xmlChar **atts) if (nodePush(ctxt, ret) < 0) { xmlUnlinkNode(ret); xmlFreeNode(ret); + if (prefix != NULL) + xmlFree(prefix); return; } @@ -1691,23 +1663,23 @@ xmlSAX2StartElement(void *ctx, const xmlChar *fullname, const xmlChar **atts) } } - /* - * Insert all the defaulted attributes from the DTD especially namespaces - */ - if ((!ctxt->html) && - ((ctxt->myDoc->intSubset != NULL) || - (ctxt->myDoc->extSubset != NULL))) { - xmlCheckDefaultedAttributes(ctxt, name, prefix, atts); - } + if (!ctxt->html) { + /* + * Insert all the defaulted attributes from the DTD especially + * namespaces + */ + if ((ctxt->myDoc->intSubset != NULL) || + (ctxt->myDoc->extSubset != NULL)) { + xmlCheckDefaultedAttributes(ctxt, name, prefix, atts); + } - /* - * process all the attributes whose name start with "xmlns" - */ - if (atts != NULL) { - i = 0; - att = atts[i++]; - value = atts[i++]; - if (!ctxt->html) { + /* + * process all the attributes whose name start with "xmlns" + */ + if (atts != NULL) { + i = 0; + att = atts[i++]; + value = atts[i++]; while ((att != NULL) && (value != NULL)) { if ((att[0] == 'x') && (att[1] == 'm') && (att[2] == 'l') && (att[3] == 'n') && (att[4] == 's')) @@ -1716,30 +1688,30 @@ xmlSAX2StartElement(void *ctx, const xmlChar *fullname, const xmlChar **atts) att = atts[i++]; value = atts[i++]; } - } - } + } - /* - * Search the namespace, note that since the attributes have been - * processed, the local namespaces are available. - */ - ns = xmlSearchNs(ctxt->myDoc, ret, prefix); - if ((ns == NULL) && (parent != NULL)) - ns = xmlSearchNs(ctxt->myDoc, parent, prefix); - if ((prefix != NULL) && (ns == NULL)) { - ns = xmlNewNs(ret, NULL, prefix); - xmlNsWarnMsg(ctxt, XML_NS_ERR_UNDEFINED_NAMESPACE, - "Namespace prefix %s is not defined\n", - prefix, NULL); - } + /* + * Search the namespace, note that since the attributes have been + * processed, the local namespaces are available. + */ + ns = xmlSearchNs(ctxt->myDoc, ret, prefix); + if ((ns == NULL) && (parent != NULL)) + ns = xmlSearchNs(ctxt->myDoc, parent, prefix); + if ((prefix != NULL) && (ns == NULL)) { + ns = xmlNewNs(ret, NULL, prefix); + xmlNsWarnMsg(ctxt, XML_NS_ERR_UNDEFINED_NAMESPACE, + "Namespace prefix %s is not defined\n", + prefix, NULL); + } - /* - * set the namespace node, making sure that if the default namspace - * is unbound on a parent we simply kee it NULL - */ - if ((ns != NULL) && (ns->href != NULL) && - ((ns->href[0] != 0) || (ns->prefix != NULL))) - xmlSetNs(ret, ns); + /* + * set the namespace node, making sure that if the default namespace + * is unbound on a parent we simply keep it NULL + */ + if ((ns != NULL) && (ns->href != NULL) && + ((ns->href[0] != 0) || (ns->prefix != NULL))) + xmlSetNs(ret, ns); + } /* * process all the other attributes @@ -2010,7 +1982,7 @@ xmlSAX2AttributeNs(xmlParserCtxtPtr ctxt, else ret->name = xmlStrdup(localname); - /* link at the end to preserv order, TODO speed up with a last */ + /* link at the end to preserve order, TODO speed up with a last */ if (ctxt->node->properties == NULL) { ctxt->node->properties = ret; } else { @@ -2102,7 +2074,7 @@ xmlSAX2AttributeNs(xmlParserCtxtPtr ctxt, } else { /* * dup now contains a string of the flattened attribute - * content with entities substitued. Check if we need to + * content with entities substituted. Check if we need to * apply an extra layer of normalization. * It need to be done twice ... it's an extra burden related * to the ability to keep references in attributes @@ -2135,7 +2107,7 @@ xmlSAX2AttributeNs(xmlParserCtxtPtr ctxt, } } else { /* - * if entities already have been substitued, then + * if entities already have been substituted, then * the attribute as passed is already normalized */ dup = xmlStrndup(value, valueend - value); @@ -2201,7 +2173,7 @@ xmlSAX2AttributeNs(xmlParserCtxtPtr ctxt, * attribute values. * * SAX2 callback when an element start has been detected by the parser. - * It provides the namespace informations for the element, as well as + * It provides the namespace information for the element, as well as * the new namespace declarations on the element. */ void @@ -2398,7 +2370,7 @@ xmlSAX2StartElementNs(void *ctx, if (nb_attributes > 0) { for (j = 0,i = 0;i < nb_attributes;i++,j+=5) { /* - * Handle the rare case of an undefined atribute prefix + * Handle the rare case of an undefined attribute prefix */ if ((attributes[j+1] != NULL) && (attributes[j+2] == NULL)) { if (ctxt->dictNames) { @@ -2454,7 +2426,7 @@ xmlSAX2StartElementNs(void *ctx, * @URI: the element namespace name if available * * SAX2 callback when an element end has been detected by the parser. - * It provides the namespace informations for the element. + * It provides the namespace information for the element. */ void xmlSAX2EndElementNs(void *ctx, @@ -2584,7 +2556,7 @@ xmlSAX2Characters(void *ctx, const xmlChar *ch, int len) * The whole point of maintaining nodelen and nodemem, * xmlTextConcat is too costly, i.e. compute length, * reallocate a new buffer, move data, append ch. Here - * We try to minimaze realloc() uses and avoid copying + * We try to minimize realloc() uses and avoid copying * and recomputing length over and over. */ if (lastChild->content == (xmlChar *)&(lastChild->properties)) { @@ -202,7 +202,7 @@ Done: by the XML parser, UTF-8 should be checked when there is no "encoding" declared ! - Support for UTF-8 and UTF-16 encoding - => added some convertion routines provided by Martin Durst + => added some conversion routines provided by Martin Durst patched them, got fixes from @@@ I plan to keep everything internally as UTF-8 (or ISO-Latin-X) this is slightly more costly but more compact, and recent processors @@ -212,7 +212,7 @@ Done: is enabled, tested the ISO->UTF-8 stuff - External entities loading: - allow override by client code - - make sure it is alled for all external entities referenced + - make sure it is called for all external entities referenced Done, client code should use xmlSetExternalEntityLoader() to set the default loading routine. It will be called each time an external entity entity resolution is triggered. @@ -245,8 +245,8 @@ Done: most cases ! - progressive reading. The entity support is a first step toward - asbtraction of an input stream. A large part of the context is still - located on the stack, moving to a state machine and putting everyting + abstraction of an input stream. A large part of the context is still + located on the stack, moving to a state machine and putting everything in the parsing context should provide an adequate solution. => Rather than progressive parsing, give more power to the SAX-like interface. Currently the DOM-like representation is built but diff --git a/bakefile/Readme.txt b/bakefile/Readme.txt index 98a9ca87..ceac4435 100644 --- a/bakefile/Readme.txt +++ b/bakefile/Readme.txt @@ -79,7 +79,7 @@ The template files used to generate all makefiles are only two:
- libxml2.bkl (the main one)
- Bakefiles.bkgen
- All the other files can be dinamically regenerated.
+ All the other files can be dynamically regenerated.
diff --git a/bakefile/libxml2.bkl b/bakefile/libxml2.bkl index dd6ce2c2..fa2d285e 100644 --- a/bakefile/libxml2.bkl +++ b/bakefile/libxml2.bkl @@ -736,12 +736,9 @@ $(TAB)copy "$(DOLLAR)(InputPath)" ..\$(CONFIG_DSTNAME) <!-- FIXME:
<exe id="testModule" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testModule.c</sources></exe>
- <if cond="WITH_THREADS=='posix'">
+ <if cond="WITH_THREADS!='no'">
<exe id="testThreads" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testThreads.c</sources></exe>
</if>
- <if cond="WITH_THREADS=='ctls' or WITH_THREADS=='native'">
- <exe id="testThreadsWin32" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testThreadsWin32.c</sources></exe>
- </if>
-->
</if>
@@ -1,7 +1,7 @@ /* * buf.c: memory buffers for libxml2 * - * new buffer structures and entry points to simplify the maintainance + * new buffer structures and entry points to simplify the maintenance * of libxml2 and ensure we keep good control over memory allocations * and stay 64 bits clean. * The new entry point use the xmlBufPtr opaque structure and @@ -83,7 +83,7 @@ struct _xmlBuf { /** * xmlBufMemoryError: - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition * To be improved... @@ -98,7 +98,7 @@ xmlBufMemoryError(xmlBufPtr buf, const char *extra) /** * xmlBufOverflowError: - * @extra: extra informations + * @extra: extra information * * Handle a buffer overflow error * To be improved... @@ -396,7 +396,7 @@ xmlBufShrink(xmlBufPtr buf, size_t len) { ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL))) { /* * we just move the content pointer, but also make sure - * the perceived buffer size has shrinked accordingly + * the perceived buffer size has shrunk accordingly */ buf->content += len; buf->size -= len; @@ -958,7 +958,7 @@ xmlBufAddHead(xmlBufPtr buf, const xmlChar *str, int len) { if (start_buf > (unsigned int) len) { /* - * We can add it in the space previously shrinked + * We can add it in the space previously shrunk */ buf->content -= len; memmove(&buf->content[0], str, len); @@ -1204,10 +1204,10 @@ xmlBufferPtr xmlBufBackToBuffer(xmlBufPtr buf) { xmlBufferPtr ret; - if ((buf == NULL) || (buf->error)) + if (buf == NULL) return(NULL); CHECK_COMPAT(buf) - if (buf->buffer == NULL) { + if ((buf->error) || (buf->buffer == NULL)) { xmlBufFree(buf); return(NULL); } @@ -1233,10 +1233,12 @@ xmlBufBackToBuffer(xmlBufPtr buf) { * Keep the buffer but provide a truncated size value. */ xmlBufOverflowError(buf, "Allocated size too big for xmlBuffer"); + ret->use = (int) buf->use; ret->size = INT_MAX; + } else { + ret->use = (int) buf->use; + ret->size = (int) buf->size; } - ret->use = (int) buf->use; - ret->size = (int) buf->size; ret->alloc = buf->alloc; ret->content = buf->content; ret->contentIO = buf->contentIO; @@ -1307,7 +1309,7 @@ xmlBufGetInputBase(xmlBufPtr buf, xmlParserInputPtr input) { CHECK_COMPAT(buf) base = input->base - buf->content; /* - * We could do some pointer arythmetic checks but that's probably + * We could do some pointer arithmetic checks but that's probably * sufficient. */ if (base > buf->size) { @@ -1332,8 +1334,12 @@ xmlBufGetInputBase(xmlBufPtr buf, xmlParserInputPtr input) { int xmlBufSetInputBaseCur(xmlBufPtr buf, xmlParserInputPtr input, size_t base, size_t cur) { - if ((input == NULL) || (buf == NULL) || (buf->error)) + if (input == NULL) return(-1); + if ((buf == NULL) || (buf->error)) { + input->base = input->cur = input->end = BAD_CAST ""; + return(-1); + } CHECK_COMPAT(buf) input->base = &buf->content[base]; input->cur = input->base + cur; @@ -43,7 +43,7 @@ typedef enum { typedef struct _xmlC14NVisibleNsStack { int nsCurEnd; /* number of nodes in the set */ - int nsPrevStart; /* the begginning of the stack for previous visible node */ + int nsPrevStart; /* the beginning of the stack for previous visible node */ int nsPrevEnd; /* the end of the stack for previous visible node */ int nsMax; /* size of the array as allocated */ xmlNsPtr *nsTab; /* array of ns in no particular order */ @@ -132,7 +132,7 @@ static xmlChar *xmlC11NNormalizeString(const xmlChar * input, /** * xmlC14NErrMemory: - * @extra: extra informations + * @extra: extra information * * Handle a redefinition of memory error */ @@ -147,7 +147,7 @@ xmlC14NErrMemory(const char *extra) /** * xmlC14NErrParam: - * @extra: extra informations + * @extra: extra information * * Handle a redefinition of param error */ @@ -162,7 +162,7 @@ xmlC14NErrParam(const char *extra) /** * xmlC14NErrInternal: - * @extra: extra informations + * @extra: extra information * * Handle a redefinition of internal error */ @@ -177,7 +177,7 @@ xmlC14NErrInternal(const char *extra) /** * xmlC14NErrInvalidNode: - * @extra: extra informations + * @extra: extra information * * Handle a redefinition of invalid node error */ @@ -192,7 +192,7 @@ xmlC14NErrInvalidNode(const char *node_type, const char *extra) /** * xmlC14NErrUnknownNode: - * @extra: extra informations + * @extra: extra information * * Handle a redefinition of unknown node error */ @@ -207,7 +207,7 @@ xmlC14NErrUnknownNode(int node_type, const char *extra) /** * xmlC14NErrRelativeNamespace: - * @extra: extra informations + * @extra: extra information * * Handle a redefinition of relative namespace error */ @@ -226,9 +226,9 @@ xmlC14NErrRelativeNamespace(const char *ns_uri) * xmlC14NErr: * @ctxt: a C14N evaluation context * @node: the context node - * @error: the erorr code + * @error: the error code * @msg: the message - * @extra: extra informations + * @extra: extra information * * Handle a redefinition of attribute error */ @@ -1827,7 +1827,7 @@ xmlC14NNewCtx(xmlDocPtr doc, } /* - * Set "mode" flag and remember list of incluseve prefixes + * Set "mode" flag and remember list of inclusive prefixes * for exclusive c14n */ ctx->mode = mode; @@ -2033,13 +2033,13 @@ xmlC14NDocDumpMemory(xmlDocPtr doc, xmlNodeSetPtr nodes, } ret = xmlBufUse(buf->buffer); - if (ret > 0) { + if (ret >= 0) { *doc_txt_ptr = xmlStrndup(xmlBufContent(buf->buffer), ret); } (void) xmlOutputBufferClose(buf); - if ((*doc_txt_ptr == NULL) && (ret > 0)) { - xmlC14NErrMemory("coping canonicanized document"); + if ((*doc_txt_ptr == NULL) && (ret >= 0)) { + xmlC14NErrMemory("copying canonicalized document"); return (-1); } return (ret); @@ -2057,7 +2057,7 @@ xmlC14NDocDumpMemory(xmlDocPtr doc, xmlNodeSetPtr nodes, * canonicalization, ignored otherwise) * @with_comments: include comments in the result (!=0) or not (==0) * @filename: the filename to store canonical XML image - * @compression: the compression level (zlib requred): + * @compression: the compression level (zlib required): * -1 - libxml default, * 0 - uncompressed, * >0 - compression level @@ -2100,7 +2100,7 @@ xmlC14NDocSave(xmlDocPtr doc, xmlNodeSetPtr nodes, ret = xmlC14NDocSaveTo(doc, nodes, mode, inclusive_ns_prefixes, with_comments, buf); if (ret < 0) { - xmlC14NErrInternal("cannicanize document to buffer"); + xmlC14NErrInternal("canonize document to buffer"); (void) xmlOutputBufferClose(buf); return (-1); } @@ -56,7 +56,7 @@ * TODO: * * macro to flag unimplemented blocks - * XML_CATALOG_PREFER user env to select between system/public prefered + * XML_CATALOG_PREFER user env to select between system/public preferred * option. C.f. Richard Tobin <richard@cogsci.ed.ac.uk> *> Just FYI, I am using an environment variable XML_CATALOG_PREFER with *> values "system" and "public". I have made the default be "system" to @@ -216,7 +216,7 @@ static int xmlCatalogInitialized = 0; /** * xmlCatalogErrMemory: - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -234,7 +234,7 @@ xmlCatalogErrMemory(const char *extra) * @catal: the Catalog entry * @node: the context node * @msg: the error message - * @extra: extra informations + * @extra: extra information * * Handle a catalog error */ @@ -924,7 +924,7 @@ xmlParseCatalogFile(const char *filename) { xmlBufResetInput(buf->buffer, inputStream); inputPush(ctxt, inputStream); - if ((ctxt->directory == NULL) && (directory == NULL)) + if (ctxt->directory == NULL) directory = xmlParserGetDirectory(filename); if ((ctxt->directory == NULL) && (directory != NULL)) ctxt->directory = directory; @@ -2069,8 +2069,7 @@ xmlCatalogListXMLResolve(xmlCatalogEntryPtr catal, const xmlChar *pubID, ret = xmlCatalogXMLResolve(catal->children, pubID, sysID); if (ret != NULL) { break; - } else if ((catal->children != NULL) && - (catal->children->depth > MAX_CATAL_DEPTH)) { + } else if (catal->children->depth > MAX_CATAL_DEPTH) { ret = NULL; break; } @@ -2353,7 +2352,7 @@ xmlParseSGMLCatalog(xmlCatalogPtr catal, const xmlChar *value, xmlCatalogEntryType type = XML_CATA_NONE; cur = xmlParseSGMLCatalogName(cur, &name); - if (name == NULL) { + if (cur == NULL || name == NULL) { /* error */ break; } @@ -3254,6 +3253,7 @@ xmlLoadCatalogs(const char *pathss) { while ((*cur != 0) && (*cur != PATH_SEPARATOR) && (!xmlIsBlank_ch(*cur))) cur++; path = xmlStrndup((const xmlChar *)paths, cur - paths); + if (path != NULL) { #ifdef _WIN32 iLen = strlen((const char*)path); for(i = 0; i < iLen; i++) { @@ -3262,7 +3262,6 @@ xmlLoadCatalogs(const char *pathss) { } } #endif - if (path != NULL) { xmlLoadCatalog((const char *) path); xmlFree(path); } @@ -3427,9 +3426,10 @@ xmlCatalogAdd(const xmlChar *type, const xmlChar *orig, const xmlChar *replace) (xmlStrEqual(type, BAD_CAST "catalog"))) { xmlDefaultCatalog = xmlCreateNewCatalog(XML_XML_CATALOG_TYPE, xmlCatalogDefaultPrefer); - xmlDefaultCatalog->xml = xmlNewCatalogEntry(XML_CATA_CATALOG, NULL, + if (xmlDefaultCatalog != NULL) { + xmlDefaultCatalog->xml = xmlNewCatalogEntry(XML_CATA_CATALOG, NULL, orig, NULL, xmlCatalogDefaultPrefer, NULL); - + } xmlRMutexUnlock(xmlCatalogMutex); return(0); } diff --git a/check-xinclude-test-suite.py b/check-xinclude-test-suite.py index f470011e..416ea218 100755 --- a/check-xinclude-test-suite.py +++ b/check-xinclude-test-suite.py @@ -209,7 +209,7 @@ while case != None: old_test_failed = test_failed old_test_error = test_error runTestCases(case) - print " Ran %d tests: %d suceeded, %d failed and %d generated an error" % ( + print " Ran %d tests: %d succeeded, %d failed and %d generated an error" % ( test_nr - old_test_nr, test_succeed - old_test_succeed, test_failed - old_test_failed, test_error - old_test_error) case = case.next @@ -217,5 +217,5 @@ while case != None: conf.freeDoc() log.close() -print "Ran %d tests: %d suceeded, %d failed and %d generated an error in %.2f s." % ( +print "Ran %d tests: %d succeeded, %d failed and %d generated an error in %.2f s." % ( test_nr, test_succeed, test_failed, test_error, time.time() - start) diff --git a/check-xml-test-suite.py b/check-xml-test-suite.py index 2de07b10..399a8db9 100755 --- a/check-xml-test-suite.py +++ b/check-xml-test-suite.py @@ -326,7 +326,7 @@ def runTest(test): #elif extra == 'both' or extra == 'parameter': res = testNotWfEntDtd(URI, id) #else: - # print "Unknow value %s for an ENTITIES test value" % (extra) + # print "Unknown value %s for an ENTITIES test value" % (extra) # return -1 elif type == "error": res = testError(URI, id) @@ -397,7 +397,7 @@ while case != None: old_test_failed = test_failed old_test_error = test_error runTestCases(case) - print " Ran %d tests: %d suceeded, %d failed and %d generated an error" % ( + print " Ran %d tests: %d succeeded, %d failed and %d generated an error" % ( test_nr - old_test_nr, test_succeed - old_test_succeed, test_failed - old_test_failed, test_error - old_test_error) case = case.next @@ -405,5 +405,5 @@ while case != None: conf.freeDoc() log.close() -print "Ran %d tests: %d suceeded, %d failed and %d generated an error in %.2f s." % ( +print "Ran %d tests: %d succeeded, %d failed and %d generated an error in %.2f s." % ( test_nr, test_succeed, test_failed, test_error, time.time() - start) diff --git a/chvalid.def b/chvalid.def index c0fd3fd3..c0fd3fd3 100755..100644 --- a/chvalid.def +++ b/chvalid.def diff --git a/compile b/compile deleted file mode 100755 index de0005d4..00000000 --- a/compile +++ /dev/null @@ -1,348 +0,0 @@ -#!/bin/sh -# Wrapper for compilers which do not understand '-c -o'. - -scriptversion=2016-01-11.22; # UTC - -# Copyright (C) 1999-2017 Free Software Foundation, Inc. -# Written by Tom Tromey <tromey@cygnus.com>. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to <bug-automake@gnu.org> or send patches to -# <automake-patches@gnu.org>. - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - if test -f "$dir/lib$lib.a"; then - found=yes - lib=$dir/lib$lib.a - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand '-c -o'. -Remove '-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file 'INSTALL'. - -Report bugs to <bug-automake@gnu.org>. -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ - icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - # So we strip '-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no '-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # '.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use '[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff --git a/config.h.cmake.in b/config.h.cmake.in new file mode 100644 index 00000000..22b3c920 --- /dev/null +++ b/config.h.cmake.in @@ -0,0 +1,288 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define if __attribute__((destructor)) is accepted */ +#cmakedefine ATTRIBUTE_DESTRUCTOR 1 + +/* Type cast for the gethostbyname() argument */ +#cmakedefine GETHOSTBYNAME_ARG_CAST @GETHOSTBYNAME_ARG_CAST@ + +/* Define to 1 if you have the <arpa/inet.h> header file. */ +#cmakedefine HAVE_ARPA_INET_H 1 + +/* Define to 1 if you have the <arpa/nameser.h> header file. */ +#cmakedefine HAVE_ARPA_NAMESER_H 1 + +/* Whether struct sockaddr::__ss_family exists */ +#cmakedefine HAVE_BROKEN_SS_FAMILY 1 + +/* Define to 1 if you have the <ctype.h> header file. */ +#cmakedefine HAVE_CTYPE_H 1 + +/* Define to 1 if you have the <dirent.h> header file. */ +#cmakedefine HAVE_DIRENT_H 1 + +/* Define to 1 if you have the <dlfcn.h> header file. */ +#cmakedefine HAVE_DLFCN_H 1 + +/* Have dlopen based dso */ +#cmakedefine HAVE_DLOPEN 1 + +/* Define to 1 if you have the <dl.h> header file. */ +#cmakedefine HAVE_DL_H 1 + +/* Define to 1 if you have the <errno.h> header file. */ +#cmakedefine HAVE_ERRNO_H 1 + +/* Define to 1 if you have the <fcntl.h> header file. */ +#cmakedefine HAVE_FCNTL_H 1 + +/* Define to 1 if you have the <float.h> header file. */ +#cmakedefine HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `fprintf' function. */ +#cmakedefine HAVE_FPRINTF 1 + +/* Define to 1 if you have the `ftime' function. */ +#cmakedefine HAVE_FTIME 1 + +/* Define if getaddrinfo is there */ +#cmakedefine HAVE_GETADDRINFO 1 + +/* Define to 1 if you have the `gettimeofday' function. */ +#cmakedefine HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the <inttypes.h> header file. */ +#cmakedefine HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isascii' function. */ +#cmakedefine HAVE_ISASCII 1 + +/* Define if isinf is there */ +#cmakedefine HAVE_ISINF 1 + +/* Define if isnan is there */ +#cmakedefine HAVE_ISNAN 1 + +/* Define if history library is there (-lhistory) */ +#cmakedefine HAVE_LIBHISTORY 1 + +/* Define if pthread library is there (-lpthread) */ +#cmakedefine HAVE_LIBPTHREAD 1 + +/* Define if readline library is there (-lreadline) */ +#cmakedefine HAVE_LIBREADLINE 1 + +/* Define to 1 if you have the <limits.h> header file. */ +#cmakedefine HAVE_LIMITS_H 1 + +/* Define to 1 if you have the `localtime' function. */ +#cmakedefine HAVE_LOCALTIME 1 + +/* Define to 1 if you have the <lzma.h> header file. */ +#cmakedefine HAVE_LZMA_H 1 + +/* Define to 1 if you have the <malloc.h> header file. */ +#cmakedefine HAVE_MALLOC_H 1 + +/* Define to 1 if you have the <math.h> header file. */ +#cmakedefine HAVE_MATH_H 1 + +/* Define to 1 if you have the <memory.h> header file. */ +#cmakedefine HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mmap' function. */ +#cmakedefine HAVE_MMAP 1 + +/* Define to 1 if you have the `munmap' function. */ +#cmakedefine HAVE_MUNMAP 1 + +/* mmap() is no good without munmap() */ +#if defined(HAVE_MMAP) && !defined(HAVE_MUNMAP) +# undef /**/ HAVE_MMAP +#endif + +/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */ +#cmakedefine HAVE_NDIR_H 1 + +/* Define to 1 if you have the <netdb.h> header file. */ +#cmakedefine HAVE_NETDB_H 1 + +/* Define to 1 if you have the <netinet/in.h> header file. */ +#cmakedefine HAVE_NETINET_IN_H 1 + +/* Define to 1 if you have the <poll.h> header file. */ +#cmakedefine HAVE_POLL_H 1 + +/* Define to 1 if you have the `printf' function. */ +#cmakedefine HAVE_PRINTF 1 + +/* Define if <pthread.h> is there */ +#cmakedefine HAVE_PTHREAD_H 1 + +/* Define to 1 if you have the `putenv' function. */ +#cmakedefine HAVE_PUTENV 1 + +/* Define to 1 if you have the `rand' function. */ +#cmakedefine HAVE_RAND 1 + +/* Define to 1 if you have the `rand_r' function. */ +#cmakedefine HAVE_RAND_R 1 + +/* Define to 1 if you have the <resolv.h> header file. */ +#cmakedefine HAVE_RESOLV_H 1 + +/* Have shl_load based dso */ +#cmakedefine HAVE_SHLLOAD 1 + +/* Define to 1 if you have the `signal' function. */ +#cmakedefine HAVE_SIGNAL 1 + +/* Define to 1 if you have the <signal.h> header file. */ +#cmakedefine HAVE_SIGNAL_H 1 + +/* Define to 1 if you have the `snprintf' function. */ +#cmakedefine HAVE_SNPRINTF 1 + +/* Define to 1 if you have the `sprintf' function. */ +#cmakedefine HAVE_SPRINTF 1 + +/* Define to 1 if you have the `srand' function. */ +#cmakedefine HAVE_SRAND 1 + +/* Define to 1 if you have the `sscanf' function. */ +#cmakedefine HAVE_SSCANF 1 + +/* Define to 1 if you have the `stat' function. */ +#cmakedefine HAVE_STAT 1 + +/* Define to 1 if you have the <stdarg.h> header file. */ +#cmakedefine HAVE_STDARG_H 1 + +/* Define to 1 if you have the <stdint.h> header file. */ +#cmakedefine HAVE_STDINT_H 1 + +/* Define to 1 if you have the <stdlib.h> header file. */ +#cmakedefine HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strftime' function. */ +#cmakedefine HAVE_STRFTIME 1 + +/* Define to 1 if you have the <strings.h> header file. */ +#cmakedefine HAVE_STRINGS_H 1 + +/* Define to 1 if you have the <string.h> header file. */ +#cmakedefine HAVE_STRING_H 1 + +/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'. + */ +#cmakedefine HAVE_SYS_DIR_H 1 + +/* Define to 1 if you have the <sys/mman.h> header file. */ +#cmakedefine HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'. + */ +#cmakedefine HAVE_SYS_NDIR_H 1 + +/* Define to 1 if you have the <sys/select.h> header file. */ +#cmakedefine HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the <sys/socket.h> header file. */ +#cmakedefine HAVE_SYS_SOCKET_H 1 + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#cmakedefine HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the <sys/timeb.h> header file. */ +#cmakedefine HAVE_SYS_TIMEB_H 1 + +/* Define to 1 if you have the <sys/time.h> header file. */ +#cmakedefine HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the <sys/types.h> header file. */ +#cmakedefine HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the `time' function. */ +#cmakedefine HAVE_TIME 1 + +/* Define to 1 if you have the <time.h> header file. */ +#cmakedefine HAVE_TIME_H 1 + +/* Define to 1 if you have the <unistd.h> header file. */ +#cmakedefine HAVE_UNISTD_H 1 + +/* Whether va_copy() is available */ +#cmakedefine HAVE_VA_COPY 1 + +/* Define to 1 if you have the `vfprintf' function. */ +#cmakedefine HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#cmakedefine HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#cmakedefine HAVE_VSPRINTF 1 + +/* Define to 1 if you have the <zlib.h> header file. */ +#cmakedefine HAVE_ZLIB_H 1 + +/* Whether __va_copy() is available */ +#cmakedefine HAVE___VA_COPY 1 + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST @ICONV_CONST@ + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#cmakedefine LT_OBJDIR "@LT_OBJDIR@" + +/* Name of package */ +#define PACKAGE "@PACKAGE@" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "@PACKAGE_NAME@" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "@PACKAGE_STRING@" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "@PACKAGE_TARNAME@" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "@PACKAGE_URL@" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "@PACKAGE_VERSION@" + +/* Type cast for the send() function 2nd arg */ +#cmakedefine SEND_ARG2_CAST @SEND_ARG2_CAST@ + +/* Define to 1 if you have the ANSI C header files. */ +#cmakedefine STDC_HEADERS 1 + +/* Support for IPv6 */ +#cmakedefine SUPPORT_IP6 1 + +/* Define if va_list is an array type */ +#cmakedefine VA_LIST_IS_ARRAY 1 + +/* Version number of package */ +#cmakedefine VERSION "@VERSION@" + +/* Determine what socket length (socklen_t) data type is */ +#cmakedefine XML_SOCKLEN_T @XML_SOCKLEN_T@ + +/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>, + <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#cmakedefine _UINT32_T @_UINT32_T@ + +/* ss_family is not defined here, use __ss_family instead */ +#cmakedefine ss_family @ss_family@ + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#cmakedefine uint32_t @uint32_t@ diff --git a/configure.ac b/configure.ac index ca911f34..32c47ac8 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ AC_CANONICAL_HOST LIBXML_MAJOR_VERSION=2 LIBXML_MINOR_VERSION=9 -LIBXML_MICRO_VERSION=9 +LIBXML_MICRO_VERSION=10 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 @@ -217,7 +217,7 @@ fi AM_CONDITIONAL([REBUILD_DOCS], [test "$enable_rebuild_docs" = "yes" -o "$USER" = "veillard"]) dnl -dnl hard dependancies on options +dnl hard dependencies on options dnl if test "$with_schemas" = "yes" then @@ -396,7 +396,7 @@ else # Try pkg-config first so that static linking works. PKG_CHECK_MODULES([Z],[zlib], [WITH_ZLIB=1], - [ ]) + [:]) fi if test "$WITH_ZLIB" = "0"; then @@ -435,7 +435,7 @@ else # Try pkg-config first so that static linking works. PKG_CHECK_MODULES([LZMA],[liblzma], [WITH_LZMA=1], - [ ]) + [:]) fi # If pkg-config failed, fall back to AC_CHECK_LIB. This @@ -641,6 +641,17 @@ else [Type cast for the send() function 2nd arg]) fi +dnl Checking whether __attribute__((destructor)) is accepted by the compiler +AC_MSG_CHECKING([whether __attribute__((destructor)) is accepted]) +AC_TRY_COMPILE2([ +void __attribute__((destructor)) +f(void) {}], [], [ + AC_MSG_RESULT(yes) + AC_DEFINE([HAVE_ATTRIBUTE_DESTRUCTOR], [1],[Define if __attribute__((destructor)) is accepted]) + AC_DEFINE([ATTRIBUTE_DESTRUCTOR], [__attribute__((destructor))],[A form that will not confuse apibuild.py])],[ + AC_MSG_RESULT(no)]) + + dnl ***********************Checking for availability of IPv6******************* AC_MSG_CHECKING([whether to enable IPv6]) @@ -770,8 +781,8 @@ else # warnings we'd like to see EXTRA_CFLAGS="${EXTRA_CFLAGS} -pedantic -Wall -Wextra -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls" - # warnings we'd like to supress - EXTRA_CFLAGS="${EXTRA_CFLAGS} -Wno-long-long -Wno-format-extra-args -Wno-array-bounds" + # warnings we'd like to suppress + EXTRA_CFLAGS="${EXTRA_CFLAGS} -Wno-long-long -Wno-format-extra-args" case "${host}" in alpha*-*-linux* ) EXTRA_CFLAGS="${EXTRA_CFLAGS} -mieee" @@ -1533,7 +1544,8 @@ else WITH_ICU=1 fi fi -XML_LIBS="-lxml2 $Z_LIBS $LZMA_LIBS $THREAD_LIBS $ICONV_LIBS $ICU_LIBS $M_LIBS $LIBS" +XML_LIBS="-lxml2" +XML_PRIVATE_LIBS="$Z_LIBS $LZMA_LIBS $THREAD_LIBS $ICONV_LIBS $ICU_LIBS $M_LIBS $LIBS" XML_LIBTOOLLIBS="libxml2.la" AC_SUBST(WITH_ICU) @@ -1620,7 +1632,14 @@ case "$host" in WIN32_EXTRA_LDFLAGS="-no-undefined" if test "${PYTHON}" != "" then - WIN32_EXTRA_PYTHON_LIBADD="-L${pythondir}/../../libs -lpython$(echo ${PYTHON_VERSION} | tr -d .)" + case "$host" in + *-w64-mingw*) + WIN32_EXTRA_PYTHON_LIBADD="-shrext .pyd -L${pythondir}/../../lib -lpython${PYTHON_VERSION}" + ;; + *) + WIN32_EXTRA_PYTHON_LIBADD="-L${pythondir}/../../libs -lpython$(echo ${PYTHON_VERSION} | tr -d .)" + ;; + esac fi ;; *-*-cygwin*) @@ -1647,7 +1666,7 @@ dnl http://sourceforge.net/project/shownotes.php?release_id=24832 dnl dnl Also *win32*config.h files redefine them for various MSC compilers. dnl -dnl So do not redefine {v}snprintf to _{v}snprintf like follwing: +dnl So do not redefine {v}snprintf to _{v}snprintf like following: dnl AC_DEFINE([snprintf],[_snprintf],[Win32 Std C name mangling work-around]) dnl AC_DEFINE([vsnprintf],[_vsnprintf],[Win32 Std C name mangling work-around]) dnl and do not redefine those functions is C-source files. @@ -1671,6 +1690,7 @@ AC_SUBST(XML_CFLAGS) AC_SUBST(XML_LIBDIR) AC_SUBST(XML_LIBS) +AC_SUBST(XML_PRIVATE_LIBS) AC_SUBST(XML_LIBTOOLLIBS) AC_SUBST(ICONV_LIBS) AC_SUBST(ICU_LIBS) @@ -1695,7 +1715,7 @@ rm -f COPYING.LIB COPYING ln -s $srcdir/Copyright COPYING # keep on one line for cygwin c.f. #130896 -AC_CONFIG_FILES([libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile doc/devhelp/Makefile example/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h libxml-2.0.pc libxml-2.0-uninstalled.pc libxml2-config.cmake]) +AC_CONFIG_FILES([libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile doc/devhelp/Makefile example/Makefile fuzz/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h libxml-2.0.pc libxml-2.0-uninstalled.pc libxml2-config.cmake]) AC_CONFIG_FILES([python/setup.py], [chmod +x python/setup.py]) AC_CONFIG_FILES([xml2-config], [chmod +x xml2-config]) AC_OUTPUT @@ -289,7 +289,7 @@ xmlCtxtGenericNodeCheck(xmlDebugCtxtPtr ctxt, xmlNodePtr node) { dict = doc->dict; if ((dict == NULL) && (ctxt->nodict == 0)) { #if 0 - /* desactivated right now as it raises too many errors */ + /* deactivated right now as it raises too many errors */ if (doc->type == XML_DOCUMENT_NODE) xmlDebugErr(ctxt, XML_CHECK_NO_DICT, "Document has no dictionary\n"); @@ -1168,7 +1168,7 @@ xmlCtxtDumpDocHead(xmlDebugCtxtPtr ctxt, xmlDocPtr doc) * @output: the FILE * for the output * @doc: the document * - * Dumps debug information cncerning the document, not recursive + * Dumps debug information concerning the document, not recursive */ static void xmlCtxtDumpDocumentHead(xmlDebugCtxtPtr ctxt, xmlDocPtr doc) @@ -1342,7 +1342,7 @@ xmlCtxtDumpDTD(xmlDebugCtxtPtr ctxt, xmlDtdPtr dtd) * @output: the FILE * for the output * @str: the string * - * Dumps informations about the string, shorten it if necessary + * Dumps information about the string, shorten it if necessary */ void xmlDebugDumpString(FILE * output, const xmlChar * str) @@ -1498,7 +1498,7 @@ xmlDebugDumpNodeList(FILE * output, xmlNodePtr node, int depth) * @output: the FILE * for the output * @doc: the document * - * Dumps debug information cncerning the document, not recursive + * Dumps debug information concerning the document, not recursive */ void xmlDebugDumpDocumentHead(FILE * output, xmlDocPtr doc) @@ -2190,7 +2190,7 @@ xmlShellRegisterRootNamespaces(xmlShellCtxtPtr ctxt, char *arg ATTRIBUTE_UNUSED, * @node2: unused * * Implements the XML shell function "grep" - * dumps informations about the node (namespace, attributes, content). + * dumps information about the node (namespace, attributes, content). * * Returns 0 */ @@ -2268,7 +2268,7 @@ xmlShellGrep(xmlShellCtxtPtr ctxt ATTRIBUTE_UNUSED, * @node2: unused * * Implements the XML shell function "dir" - * dumps informations about the node (namespace, attributes, content). + * dumps information about the node (namespace, attributes, content). * * Returns 0 */ @@ -2302,7 +2302,7 @@ xmlShellDir(xmlShellCtxtPtr ctxt ATTRIBUTE_UNUSED, * @node2: unused * * Implements the XML shell function "dir" - * dumps informations about the node (namespace, attributes, content). + * dumps information about the node (namespace, attributes, content). * * Returns 0 */ @@ -2363,10 +2363,7 @@ xmlShellRNGValidate(xmlShellCtxtPtr sctxt, char *schemas, int ret; ctxt = xmlRelaxNGNewParserCtxt(schemas); - xmlRelaxNGSetParserErrors(ctxt, - (xmlRelaxNGValidityErrorFunc) fprintf, - (xmlRelaxNGValidityWarningFunc) fprintf, - stderr); + xmlRelaxNGSetParserErrors(ctxt, xmlGenericError, xmlGenericError, NULL); relaxngschemas = xmlRelaxNGParse(ctxt); xmlRelaxNGFreeParserCtxt(ctxt); if (relaxngschemas == NULL) { @@ -2375,10 +2372,7 @@ xmlShellRNGValidate(xmlShellCtxtPtr sctxt, char *schemas, return(-1); } vctxt = xmlRelaxNGNewValidCtxt(relaxngschemas); - xmlRelaxNGSetValidErrors(vctxt, - (xmlRelaxNGValidityErrorFunc) fprintf, - (xmlRelaxNGValidityWarningFunc) fprintf, - stderr); + xmlRelaxNGSetValidErrors(vctxt, xmlGenericError, xmlGenericError, NULL); ret = xmlRelaxNGValidateDoc(vctxt, sctxt->doc); if (ret == 0) { fprintf(stderr, "%s validates\n", sctxt->filename); @@ -2647,9 +2641,9 @@ xmlShellValidate(xmlShellCtxtPtr ctxt, char *dtd, int res = -1; if ((ctxt == NULL) || (ctxt->doc == NULL)) return(-1); - vctxt.userData = stderr; - vctxt.error = (xmlValidityErrorFunc) fprintf; - vctxt.warning = (xmlValidityWarningFunc) fprintf; + vctxt.userData = NULL; + vctxt.error = xmlGenericError; + vctxt.warning = xmlGenericError; if ((dtd == NULL) || (dtd[0] == 0)) { res = xmlValidateDocument(&vctxt, ctxt->doc); @@ -2906,7 +2900,7 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input, fprintf(ctxt->output, "\tbye leave shell\n"); fprintf(ctxt->output, "\tcat [node] display node or current node\n"); fprintf(ctxt->output, "\tcd [path] change directory to path or to root\n"); - fprintf(ctxt->output, "\tdir [path] dumps informations about the node (namespace, attributes, content)\n"); + fprintf(ctxt->output, "\tdir [path] dumps information about the node (namespace, attributes, content)\n"); fprintf(ctxt->output, "\tdu [path] show the structure of the subtree under path or the current node\n"); fprintf(ctxt->output, "\texit leave shell\n"); fprintf(ctxt->output, "\thelp display this help\n"); @@ -10,7 +10,7 @@ * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF - * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. * * Author: daniel@veillard.com @@ -38,7 +38,8 @@ * list we will use the BigKey algo as soon as the hash size grows * over MIN_DICT_SIZE so this actually works */ -#if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME) +#if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME) && \ + !defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) #define DICT_RANDOMIZATION #endif @@ -371,6 +372,9 @@ found_pool: * http://burtleburtle.net/bob/hash/doobs.html */ +#ifdef __clang__ +ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") +#endif static uint32_t xmlDictComputeBigKey(const xmlChar* data, int namelen, int seed) { uint32_t hash; @@ -403,6 +407,9 @@ xmlDictComputeBigKey(const xmlChar* data, int namelen, int seed) { * * Neither of the two strings must be NULL. */ +#ifdef __clang__ +ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") +#endif static unsigned long xmlDictComputeBigQKey(const xmlChar *prefix, int plen, const xmlChar *name, int len, int seed) @@ -445,7 +452,7 @@ xmlDictComputeFastKey(const xmlChar *name, int namelen, int seed) { unsigned long value = seed; if (name == NULL) return(0); - value = *name; + value += *name; value <<= 5; if (namelen > 10) { value += name[namelen - 1]; @@ -727,7 +734,7 @@ xmlDictGrow(xmlDictPtr dict, size_t size) { dict->dict[key].next = entry; } else { /* - * we don't have much ways to alert from herei + * we don't have much ways to alert from here * result is losing an entry and unicity guarantee */ ret = -1; @@ -1202,7 +1209,7 @@ xmlDictQLookup(xmlDictPtr dict, const xmlChar *prefix, const xmlChar *name) { * @dict: the dictionary * @str: the string * - * check if a string is owned by the disctionary + * check if a string is owned by the dictionary * * Returns 1 if true, 0 if false and -1 in case of error * -1 in case of error diff --git a/doc/APIchunk0.html b/doc/APIchunk0.html index f7783272..e5cafd8d 100644 --- a/doc/APIchunk0.html +++ b/doc/APIchunk0.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index A-B for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index A-B for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index A-B for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index A-B for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> diff --git a/doc/APIchunk1.html b/doc/APIchunk1.html index 79471964..393cd184 100644 --- a/doc/APIchunk1.html +++ b/doc/APIchunk1.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index C-C for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index C-C for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index C-C for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index C-C for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> diff --git a/doc/APIchunk10.html b/doc/APIchunk10.html index 22d5061f..b612643a 100644 --- a/doc/APIchunk10.html +++ b/doc/APIchunk10.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index Y-a for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index Y-a for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index Y-a for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index Y-a for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -100,6 +100,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br /> <a href="html/libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a><br /> <a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br /> +<a href="html/libxml-xmlregexp.html#xmlExpSubsume">xmlExpSubsume</a><br /> <a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br /> <a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br /> <a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br /> @@ -117,7 +118,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br /> </dd><dt>accesses</dt><dd><a href="html/libxml-parserInternals.html#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a><br /> <a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br /> -</dd><dt>accexpted</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpSubsume">xmlExpSubsume</a><br /> </dd><dt>accommodate</dt><dd><a href="html/libxml-tree.html#xmlBufferResize">xmlBufferResize</a><br /> </dd><dt>according</dt><dd><a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br /> <a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br /> @@ -393,9 +393,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br /> <a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br /> </dd><dt>alphanumerics</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br /> -</dd><dt>already</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a><br /> -<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a><br /> -<a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br /> +</dd><dt>already</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br /> <a href="html/libxml-tree.html#xmlAddNextSibling">xmlAddNextSibling</a><br /> <a href="html/libxml-tree.html#xmlAddPrevSibling">xmlAddPrevSibling</a><br /> <a href="html/libxml-tree.html#xmlAddSibling">xmlAddSibling</a><br /> @@ -470,6 +468,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br /> </dd><dt>angle</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br /> </dd><dt>annotation</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaAnnot">_xmlSchemaAnnot</a><br /> +</dd><dt>anonymous</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br /> </dd><dt>another</dt><dd><a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br /> <a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br /> <a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br /> diff --git a/doc/APIchunk11.html b/doc/APIchunk11.html index 9f94a1fd..c28458d9 100644 --- a/doc/APIchunk11.html +++ b/doc/APIchunk11.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index b-b for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index b-b for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index b-b for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index b-b for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -261,8 +261,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br /> </dd><dt>buffers</dt><dd><a href="html/libxml-tree.html#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a><br /> <a href="html/libxml-tree.html#xmlBufferDetach">xmlBufferDetach</a><br /> -</dd><dt>builded</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a><br /> -<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a><br /> </dd><dt>building</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a><br /> <a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> <a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br /> @@ -280,7 +278,8 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br /> <a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br /> </dd><dt>builds</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br /> -</dd><dt>built</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> +</dd><dt>built</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a><br /> +<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> <a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br /> <a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br /> <a href="html/libxml-parserInternals.html#xmlParseEnumeratedType">xmlParseEnumeratedType</a><br /> diff --git a/doc/APIchunk12.html b/doc/APIchunk12.html index d7404f8f..77330dd3 100644 --- a/doc/APIchunk12.html +++ b/doc/APIchunk12.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index c-c for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index c-c for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index c-c for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index c-c for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -63,7 +63,9 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br /> <a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br /> </dd><dt>came</dt><dd><a href="html/libxml-parserInternals.html#xmlPopInput">xmlPopInput</a><br /> -</dd><dt>cannot</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br /> +</dd><dt>cannot</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br /> +<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br /> +<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br /> <a href="html/libxml-xmlreader.html#xmlTextReaderReadOuterXml">xmlTextReaderReadOuterXml</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a><br /> </dd><dt>canonic</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br /> @@ -87,10 +89,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br /> <a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br /> <a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br /> -</dd><dt>canot</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br /> -<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br /> </dd><dt>capable</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br /> -</dd><dt>caracters</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br /> </dd><dt>cardinality</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br /> </dd><dt>carried</dt><dd><a href="html/libxml-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br /> <a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br /> @@ -180,6 +179,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a><br /> <a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br /> <a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br /> +<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br /> <a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br /> <a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br /> <a href="html/libxml-xmlstring.html#xmlStrVPrintf">xmlStrVPrintf</a><br /> @@ -195,7 +195,8 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br /> </dd><dt>charencoding</dt><dd><a href="html/libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br /> </dd><dt>chars??</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br /> -</dd><dt>charset</dt><dd><a href="html/libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a><br /> +</dd><dt>charset</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br /> +<a href="html/libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a><br /> <a href="html/libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a><br /> <a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br /> <a href="html/libxml-parser.html#xmlNewIOInputStream">xmlNewIOInputStream</a><br /> @@ -323,7 +324,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-nanoftp.html#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a><br /> <a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br /> <a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br /> -</dd><dt>cncerning</dt><dd><a href="html/libxml-debugXML.html#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a><br /> </dd><dt>codes</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br /> </dd><dt>coding</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br /> </dd><dt>collapse</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a><br /> @@ -344,7 +344,6 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>come</dt><dd><a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br /> <a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br /> <a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br /> -</dd><dt>coment</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterEndComment">xmlTextWriterEndComment</a><br /> </dd><dt>comes</dt><dd><a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br /> <a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br /> </dd><dt>coming</dt><dd><a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br /> @@ -362,6 +361,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-tree.html#xmlNewComment">xmlNewComment</a><br /> <a href="html/libxml-tree.html#xmlNewDocComment">xmlNewDocComment</a><br /> <a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br /> +<a href="html/libxml-xmlwriter.html#xmlTextWriterEndComment">xmlTextWriterEndComment</a><br /> <a href="html/libxml-xmlwriter.html#xmlTextWriterStartComment">xmlTextWriterStartComment</a><br /> <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a><br /> <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a><br /> @@ -523,6 +523,7 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>concat</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathConcatFunction">xmlXPathConcatFunction</a><br /> </dd><dt>concatenated</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br /> </dd><dt>concatenation</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathConcatFunction">xmlXPathConcatFunction</a><br /> +</dd><dt>concerning</dt><dd><a href="html/libxml-debugXML.html#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a><br /> </dd><dt>condition</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br /> <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br /> </dd><dt>conditionalSect</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br /> @@ -709,7 +710,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br /> <a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br /> </dd><dt>continuing</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br /> -</dd><dt>contraint</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br /> </dd><dt>contrary</dt><dd><a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br /> <a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br /> </dd><dt>contrast</dt><dd><a href="html/libxml-tree.html#xmlNodeAddContent">xmlNodeAddContent</a><br /> @@ -782,8 +782,6 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>copying</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br /> </dd><dt>correct</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br /> </dd><dt>correctly</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br /> -</dd><dt>correponding</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br /> -<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br /> </dd><dt>correspond</dt><dd><a href="html/libxml-tree.html#xmlIsXHTML">xmlIsXHTML</a><br /> <a href="html/libxml-parser.html#xmlParseEntity">xmlParseEntity</a><br /> <a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</a><br /> @@ -793,6 +791,8 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br /> <a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br /> <a href="html/libxml-tree.html#xmlSetProp">xmlSetProp</a><br /> +<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br /> +<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br /> </dd><dt>cost</dt><dd><a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br /> </dd><dt>costly</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a><br /> @@ -864,7 +864,6 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>cross</dt><dd><a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br /> </dd><dt>crossed</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br /> <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br /> -</dd><dt>cshema</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a><br /> </dd><dt>ctxt</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br /> <a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br /> <a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br /> @@ -876,7 +875,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br /> <a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br /> </dd><dt>cur</dt><dd><a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br /> -</dd><dt>curent</dt><dd><a href="html/libxml-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a><br /> </dd><dt>currently</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a><br /> <a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br /> <a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br /> diff --git a/doc/APIchunk13.html b/doc/APIchunk13.html index 5889ebf7..a01afa83 100644 --- a/doc/APIchunk13.html +++ b/doc/APIchunk13.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index d-d for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index d-d for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index d-d for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index d-d for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -176,6 +176,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br /> </dd><dt>defined</dt><dd><a href="html/libxml-xmlversion.html#WITHOUT_TRIO">WITHOUT_TRIO</a><br /> <a href="html/libxml-xmlversion.html#WITH_TRIO">WITH_TRIO</a><br /> +<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a><br /> <a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br /> <a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</a><br /> <a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br /> @@ -224,7 +225,7 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>delegation</dt><dd><a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br /> </dd><dt>delete</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br /> </dd><dt>deletion</dt><dd><a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br /> -</dd><dt>dependant</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br /> +</dd><dt>dependent</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br /> </dd><dt>depending</dt><dd><a href="html/libxml-valid.html#xmlIsID">xmlIsID</a><br /> <a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br /> <a href="html/libxml-list.html#xmlListDataCompare">xmlListDataCompare</a><br /> @@ -258,10 +259,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a><br /> <a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br /> <a href="html/libxml-xmlregexp.html#xmlExpStringDerive">xmlExpStringDerive</a><br /> -</dd><dt>des</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br /> -<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br /> -</dd><dt>desactivated</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br /> -<a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br /> </dd><dt>descend</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br /> </dd><dt>descendant</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextDescendant">xmlXPathNextDescendant</a><br /> </dd><dt>descendant-or-self</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a><br /> @@ -448,7 +445,8 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-debugXML.html#xmlShellList">xmlShellList</a><br /> </dd><dt>disable</dt><dd><a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br /> <a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a><br /> -</dd><dt>disabled</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br /> +</dd><dt>disabled</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a><br /> +<a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br /> <a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> <a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br /> </dd><dt>disables</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br /> @@ -465,7 +463,6 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>discovering</dt><dd><a href="html/libxml-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a><br /> <a href="html/libxml-parserInternals.html#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a><br /> <a href="html/libxml-parserInternals.html#xmlSwitchToEncoding">xmlSwitchToEncoding</a><br /> -</dd><dt>disctionary</dt><dd><a href="html/libxml-dict.html#xmlDictOwns">xmlDictOwns</a><br /> </dd><dt>display</dt><dd><a href="html/libxml-parser.html#errorSAXFunc">errorSAXFunc</a><br /> <a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br /> <a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br /> diff --git a/doc/APIchunk14.html b/doc/APIchunk14.html index 835465aa..235b553f 100644 --- a/doc/APIchunk14.html +++ b/doc/APIchunk14.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index e-e for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index e-e for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index e-e for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index e-e for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -150,9 +150,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br /> </dd><dt>encoder==NULL</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br /> <a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br /> -</dd><dt>enconding</dt><dd><a href="html/libxml-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a><br /> -<a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br /> -<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br /> </dd><dt>encountered</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br /> </dd><dt>encountering</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br /> </dd><dt>end-tag</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br /> @@ -304,6 +301,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br /> <a href="html/libxml-xpathInternals.html#valuePop">valuePop</a><br /> <a href="html/libxml-xpathInternals.html#valuePush">valuePush</a><br /> +<a href="html/libxml-xmlregexp.html#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a><br /> <a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br /> <a href="html/libxml-debugXML.html#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a><br /> <a href="html/libxml-xpath.html#xmlXPathCompiledEval">xmlXPathCompiledEval</a><br /> @@ -315,7 +313,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xpath.html#xmlXPathNodeEval">xmlXPathNodeEval</a><br /> <a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br /> <a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br /> -</dd><dt>evaulation</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a><br /> </dd><dt>even</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br /> <a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br /> <a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br /> diff --git a/doc/APIchunk15.html b/doc/APIchunk15.html index 163d67bf..744bde8e 100644 --- a/doc/APIchunk15.html +++ b/doc/APIchunk15.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index f-f for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index f-f for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index f-f for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index f-f for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -207,6 +207,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br /> </dd><dt>fixup</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a><br /> </dd><dt>flag</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a><br /> +<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br /> <a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br /> <a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br /> <a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br /> @@ -255,8 +256,6 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>follows:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br /> -</dd><dt>fonctionnalities</dt><dd><a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br /> -<a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br /> </dd><dt>for:</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br /> <a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br /> </dd><dt>forbid</dt><dd><a href="html/libxml-xpath.html#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a><br /> @@ -382,7 +381,9 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br /> -</dd><dt>functionality</dt><dd><a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br /> +</dd><dt>functionality</dt><dd><a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br /> +<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br /> +<a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br /> <a href="html/libxml-xpath.html#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a><br /> <a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br /> </dd><dt>functions</dt><dd><a href="html/libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a><br /> diff --git a/doc/APIchunk16.html b/doc/APIchunk16.html index e7e236d5..0fb9d81d 100644 --- a/doc/APIchunk16.html +++ b/doc/APIchunk16.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index g-h for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index g-h for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index g-h for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index g-h for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -163,7 +163,8 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br /> </dd><dt>greater-than</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br /> -</dd><dt>group</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a><br /> +</dd><dt>group</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a><br /> +<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a><br /> <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br /> <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a><br /> <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a><br /> @@ -207,6 +208,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-tree.html#xmlUnsetProp">xmlUnsetProp</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br /> </dd><dt>handling</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a><br /> +<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br /> <a href="html/libxml-SAX.html#attribute">attribute</a><br /> <a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br /> <a href="html/libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a><br /> @@ -268,7 +270,6 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>hierarchy</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br /> <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br /> </dd><dt>highly</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a><br /> -<a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br /> </dd><dt>hold</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br /> <a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br /> <a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br /> diff --git a/doc/APIchunk17.html b/doc/APIchunk17.html index e6647e2e..d2dd0696 100644 --- a/doc/APIchunk17.html +++ b/doc/APIchunk17.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index i-i for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index i-i for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index i-i for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index i-i for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -42,7 +42,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlversion.html#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a><br /> </dd><dt>icu</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a><br /> </dd><dt>identify</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br /> -</dd><dt>identitier</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a><br /> </dd><dt>identity-constraint</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br /> <a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br /> </dd><dt>ignorable</dt><dd><a href="html/libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a><br /> @@ -99,8 +98,7 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>in-</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br /> </dd><dt>in-extenso</dt><dd><a href="html/libxml-xmlmemory.html#xmlMemDisplay">xmlMemDisplay</a><br /> <a href="html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a><br /> -</dd><dt>in-memory</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br /> -<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> +</dd><dt>in-memory</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> <a href="html/libxml-DOCBparser.html#docbParseDoc">docbParseDoc</a><br /> <a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br /> <a href="html/libxml-HTMLparser.html#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a><br /> @@ -412,7 +410,6 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>insertion</dt><dd><a href="html/libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a><br /> <a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br /> </dd><dt>inspect</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a><br /> -</dd><dt>instace</dt><dd><a href="html/libxml-schematron.html#xmlSchematronValidateDoc">xmlSchematronValidateDoc</a><br /> </dd><dt>installed</dt><dd><a href="html/libxml-dict.html#xmlDictSize">xmlDictSize</a><br /> <a href="html/libxml-hash.html#xmlHashSize">xmlHashSize</a><br /> </dd><dt>instances</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br /> diff --git a/doc/APIchunk18.html b/doc/APIchunk18.html index 91566f7c..8643ad7f 100644 --- a/doc/APIchunk18.html +++ b/doc/APIchunk18.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index j-l for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index j-l for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index j-l for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index j-l for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -76,7 +76,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br /> <a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a><br /> <a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br /> -<a href="html/libxml-xpath.html#xmlXPathInit">xmlXPathInit</a><br /> <a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br /> </dd><dt>keyword</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br /> </dd><dt>kill</dt><dd><a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br /> @@ -307,6 +306,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br /> </dd><dt>limited</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br /> <a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br /> +</dd><dt>limits</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br /> </dd><dt>linear</dt><dd><a href="html/libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a><br /> <a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br /> <a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br /> diff --git a/doc/APIchunk19.html b/doc/APIchunk19.html index 23f434e0..c50c345f 100644 --- a/doc/APIchunk19.html +++ b/doc/APIchunk19.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index m-m for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index m-m for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index m-m for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index m-m for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> diff --git a/doc/APIchunk2.html b/doc/APIchunk2.html index bb6c1415..d5d363b1 100644 --- a/doc/APIchunk2.html +++ b/doc/APIchunk2.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index D-E for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index D-E for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index D-E for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index D-E for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -163,7 +163,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br /> <a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br /> <a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br /> -<a href="html/libxml-xpath.html#xmlXPathInit">xmlXPathInit</a><br /> </dd><dt>Douglas</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br /> </dd><dt>Draft</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br /> </dd><dt>DtD</dt><dd><a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br /> diff --git a/doc/APIchunk20.html b/doc/APIchunk20.html index 3559b08b..f812bbc9 100644 --- a/doc/APIchunk20.html +++ b/doc/APIchunk20.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index n-n for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index n-n for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index n-n for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index n-n for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -252,10 +252,10 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br /> </dd><dt>note</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br /> <a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br /> -</dd><dt>nothing</dt><dd><a href="html/libxml-xpath.html#xmlXPathInit">xmlXPathInit</a><br /> </dd><dt>notice</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br /> <a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br /> -</dd><dt>now</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br /> +</dd><dt>now</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a><br /> +<a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br /> <a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br /> <a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br /> <a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br /> diff --git a/doc/APIchunk21.html b/doc/APIchunk21.html index 85fa55e0..7f8efe49 100644 --- a/doc/APIchunk21.html +++ b/doc/APIchunk21.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index o-o for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index o-o for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index o-o for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index o-o for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -59,10 +59,6 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>occur</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br /> <a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br /> <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br /> -</dd><dt>occurences</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br /> -<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br /> -<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br /> -<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br /> </dd><dt>occurred</dt><dd><a href="html/libxml-xmlerror.html#xmlCtxtGetLastError">xmlCtxtGetLastError</a><br /> <a href="html/libxml-dict.html#xmlDictCreate">xmlDictCreate</a><br /> <a href="html/libxml-dict.html#xmlDictCreateSub">xmlDictCreateSub</a><br /> @@ -80,7 +76,11 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a><br /> -</dd><dt>occurrences</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br /> +</dd><dt>occurrences</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br /> +<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br /> +<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br /> +<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br /> +<a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br /> </dd><dt>occurs</dt><dd><a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br /> <a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br /> <a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br /> @@ -153,7 +153,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br /> <a href="html/libxml-catalog.html#xmlCatalogConvert">xmlCatalogConvert</a><br /> <a href="html/libxml-catalog.html#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a><br /> -</dd><dt>ononymous</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br /> </dd><dt>onto</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br /> <a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br /> <a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br /> diff --git a/doc/APIchunk22.html b/doc/APIchunk22.html index ec9547bb..9f690089 100644 --- a/doc/APIchunk22.html +++ b/doc/APIchunk22.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index p-p for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index p-p for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index p-p for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index p-p for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -212,8 +212,8 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br /> </dd><dt>pos</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br /> </dd><dt>position:</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br /> -</dd><dt>positioned</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a><br /> -</dd><dt>positionned</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a><br /> +</dd><dt>positioned</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a><br /> +<a href="html/libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a><br /> </dd><dt>positions</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br /> </dd><dt>possible</dt><dd><a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br /> <a href="html/libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a><br /> @@ -440,7 +440,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br /> <a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br /> <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br /> -</dd><dt>procgressed</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br /> </dd><dt>produce</dt><dd><a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br /> <a href="html/libxml-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a><br /> <a href="html/libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a><br /> @@ -452,6 +451,7 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>program</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br /> </dd><dt>programs</dt><dd><a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br /> <a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br /> +</dd><dt>progressed</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br /> </dd><dt>progresses</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br /> </dd><dt>progressive</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> <a href="html/libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a><br /> diff --git a/doc/APIchunk23.html b/doc/APIchunk23.html index a18be6e4..a72cbfe2 100644 --- a/doc/APIchunk23.html +++ b/doc/APIchunk23.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index q-r for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index q-r for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index q-r for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index q-r for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -177,6 +177,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br /> <a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a><br /> <a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br /> +</dd><dt>recorded</dt><dd><a href="html/libxml-xpathInternals.html#valuePush">valuePush</a><br /> </dd><dt>recover</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br /> </dd><dt>recovery</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> <a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a><br /> @@ -213,7 +214,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br /> <a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br /> <a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a><br /> -<a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br /> <a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br /> <a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br /> </dd><dt>recursively</dt><dd><a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br /> @@ -447,6 +447,7 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>requests</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br /> </dd><dt>required</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a><br /> <a href="html/libxml-HTMLparser.html#htmlRequiredAttrs">htmlRequiredAttrs</a><br /> +<a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br /> <a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br /> <a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br /> <a href="html/libxml-xmlschemastypes.html#xmlSchemaWhiteSpaceReplace">xmlSchemaWhiteSpaceReplace</a><br /> @@ -455,7 +456,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br /> <a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br /> <a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a><br /> -</dd><dt>requred</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br /> </dd><dt>reserved</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br /> <a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br /> <a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br /> @@ -514,10 +514,10 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a><br /> </dd><dt>respect</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpStringDerive">xmlExpStringDerive</a><br /> </dd><dt>respecting</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br /> -</dd><dt>responsability</dt><dd><a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</a><br /> </dd><dt>response</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a><br /> <a href="html/libxml-nanoftp.html#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a><br /> <a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br /> +</dd><dt>responsibility</dt><dd><a href="html/libxml-entities.html#xmlNewEntity">xmlNewEntity</a><br /> </dd><dt>responsible</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br /> <a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br /> <a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br /> diff --git a/doc/APIchunk24.html b/doc/APIchunk24.html index 64aac67f..c545f17e 100644 --- a/doc/APIchunk24.html +++ b/doc/APIchunk24.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index s-s for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index s-s for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index s-s for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index s-s for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -125,8 +125,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a><br /> </dd><dt>scanning</dt><dd><a href="html/libxml-hash.html#xmlHashScanner">xmlHashScanner</a><br /> <a href="html/libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a><br /> -</dd><dt>scannner</dt><dd><a href="html/libxml-hash.html#xmlHashScanner">xmlHashScanner</a><br /> -<a href="html/libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a><br /> </dd><dt>schemas</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br /> <a href="html/libxml-relaxng.html#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a><br /> <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br /> @@ -209,6 +207,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br /> <a href="html/libxml-parser.html#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a><br /> <a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br /> +<a href="html/libxml-xmlregexp.html#xmlExpIsNillable">xmlExpIsNillable</a><br /> <a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br /> <a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br /> <a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br /> @@ -229,7 +228,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br /> <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br /> -</dd><dt>sequqnce</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpIsNillable">xmlExpIsNillable</a><br /> </dd><dt>serialization</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a><br /> <a href="html/libxml-xmlsave.html#xmlSaveToBuffer">xmlSaveToBuffer</a><br /> <a href="html/libxml-xmlsave.html#xmlSaveToFd">xmlSaveToFd</a><br /> @@ -727,7 +725,8 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a><br /> </dd><dt>streamable</dt><dd><a href="html/libxml-pattern.html#xmlPatternStreamable">xmlPatternStreamable</a><br /> <a href="html/libxml-xmlschemas.html#xmlSchemaValidateFile">xmlSchemaValidateFile</a><br /> -</dd><dt>streaming</dt><dd><a href="html/libxml-pattern.html#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</a><br /> +</dd><dt>streaming</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> +<a href="html/libxml-pattern.html#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</a><br /> <a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br /> </dd><dt>streams</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> <a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br /> @@ -786,9 +785,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br /> <a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br /> <a href="html/libxml-xmlregexp.html#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a><br /> -</dd><dt>struture</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br /> -<a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br /> -<a href="html/libxml-schematron.html#xmlSchematronParse">xmlSchematronParse</a><br /> </dd><dt>stuff</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br /> <a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br /> </dd><dt>style</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br /> @@ -811,7 +807,6 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>subset?</dt><dd><a href="html/libxml-parser.html#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a><br /> </dd><dt>subsets</dt><dd><a href="html/libxml-entities.html#xmlGetParameterEntity">xmlGetParameterEntity</a><br /> <a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br /> -</dd><dt>substituion</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a><br /> </dd><dt>substitute</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br /> </dd><dt>substituted</dt><dd><a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a><br /> <a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a><br /> @@ -913,7 +908,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br /> <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br /> <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br /> -</dd><dt>sucessors</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br /> +</dd><dt>successors</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br /> </dd><dt>such</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br /> <a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br /> <a href="html/libxml-tree.html#xmlSetProp">xmlSetProp</a><br /> diff --git a/doc/APIchunk25.html b/doc/APIchunk25.html index 71ba3bdb..eaa24deb 100644 --- a/doc/APIchunk25.html +++ b/doc/APIchunk25.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index t-t for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index t-t for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index t-t for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index t-t for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -61,8 +61,8 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br /> </dd><dt>take</dt><dd><a href="html/libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a><br /> </dd><dt>taken</dt><dd><a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br /> -</dd><dt>takes</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br /> -</dd><dt>tatkes</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br /> +</dd><dt>takes</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br /> +<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a><br /> </dd><dt>tell</dt><dd><a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a><br /> <a href="html/libxml-parser.html#XML_DETECT_IDS">XML_DETECT_IDS</a><br /> <a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br /> @@ -268,8 +268,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br /> -</dd><dt>trancoding</dt><dd><a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br /> -<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br /> </dd><dt>transaction</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPSave">xmlNanoHTTPSave</a><br /> </dd><dt>transcoding</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br /> <a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br /> @@ -286,7 +284,9 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br /> <a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br /> <a href="html/libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a><br /> -</dd><dt>transfered</dt><dd><a href="html/libxml-parserInternals.html#xmlParsePI">xmlParsePI</a><br /> +<a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br /> +<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br /> +</dd><dt>transferred</dt><dd><a href="html/libxml-parserInternals.html#xmlParsePI">xmlParsePI</a><br /> </dd><dt>transformation</dt><dd><a href="html/libxml-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a><br /> <a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br /> <a href="html/libxml-encoding.html#xmlCharEncInFunc">xmlCharEncInFunc</a><br /> @@ -326,7 +326,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</a><br /> <a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br /> </dd><dt>traverse</dt><dd><a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br /> -</dd><dt>treaming</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> </dd><dt>treated</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br /> </dd><dt>tried</dt><dd><a href="html/libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a><br /> <a href="html/libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a><br /> @@ -369,7 +368,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br /> <a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br /> <a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br /> -</dd><dt>ttribute</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a><br /> </dd><dt>tune</dt><dd><a href="html/libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a><br /> </dd><dt>tuple</dt><dd><a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br /> <a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br /> diff --git a/doc/APIchunk26.html b/doc/APIchunk26.html index af3b1a5d..77dde401 100644 --- a/doc/APIchunk26.html +++ b/doc/APIchunk26.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index u-v for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index u-v for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index u-v for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index u-v for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -47,6 +47,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-tree.html#xmlGetDocCompressMode">xmlGetDocCompressMode</a><br /> <a href="html/libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a><br /> <a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br /> +</dd><dt>unconditionally</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a><br /> </dd><dt>under</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br /> <a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br /> <a href="html/libxml-tree.html#xmlSetTreeDoc">xmlSetTreeDoc</a><br /> @@ -155,25 +156,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br /> <a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br /> <a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br /> -</dd><dt>unused</dt><dd><a href="html/libxml-xmlversion.html#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a><br /> -<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br /> -<a href="html/libxml-parser.html#_xmlSAXHandler">_xmlSAXHandler</a><br /> -<a href="html/libxml-parser.html#_xmlSAXHandlerV1">_xmlSAXHandlerV1</a><br /> -<a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br /> -<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br /> -<a href="html/libxml-tree.html#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a><br /> -<a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br /> -<a href="html/libxml-xmlschemas.html#xmlSchemaValidateFile">xmlSchemaValidateFile</a><br /> -<a href="html/libxml-debugXML.html#xmlShellBase">xmlShellBase</a><br /> -<a href="html/libxml-debugXML.html#xmlShellCat">xmlShellCat</a><br /> -<a href="html/libxml-debugXML.html#xmlShellDir">xmlShellDir</a><br /> -<a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br /> -<a href="html/libxml-debugXML.html#xmlShellList">xmlShellList</a><br /> -<a href="html/libxml-debugXML.html#xmlShellLoad">xmlShellLoad</a><br /> -<a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br /> -<a href="html/libxml-debugXML.html#xmlShellSave">xmlShellSave</a><br /> -<a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br /> -<a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br /> </dd><dt>update</dt><dd><a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br /> <a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br /> <a href="html/libxml-tree.html#xmlSetListDoc">xmlSetListDoc</a><br /> @@ -265,9 +247,9 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br /> <a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br /> <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br /> -</dd><dt>varags</dt><dd><a href="html/libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a><br /> </dd><dt>vararg</dt><dd><a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br /> <a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br /> +</dd><dt>varargs</dt><dd><a href="html/libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a><br /> </dd><dt>variables</dt><dd><a href="html/libxml-xpath.html#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a><br /> <a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br /> <a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br /> diff --git a/doc/APIchunk27.html b/doc/APIchunk27.html index cabaa27a..c015fdd1 100644 --- a/doc/APIchunk27.html +++ b/doc/APIchunk27.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index w-w for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index w-w for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index w-w for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index w-w for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -88,6 +88,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br /> <a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br /> </dd><dt>ways:</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br /> +</dd><dt>weird</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br /> </dd><dt>well</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> <a href="html/libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a><br /> <a href="html/libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a><br /> @@ -128,7 +129,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xinclude.html#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a><br /> <a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br /> <a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a><br /> -</dd><dt>wether</dt><dd><a href="html/libxml-xpath.html#_xmlNodeSet">_xmlNodeSet</a><br /> </dd><dt>what</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br /> <a href="html/libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a><br /> <a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br /> @@ -191,9 +191,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br /> </dd><dt>why</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br /> <a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br /> -</dd><dt>wierd</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br /> -</dd><dt>wildcard</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a><br /> -<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a><br /> +</dd><dt>wildcard</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a><br /> <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a><br /> <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a><br /> <a href="html/libxml-schemasInternals.html#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a><br /> diff --git a/doc/APIchunk28.html b/doc/APIchunk28.html index c3f49b20..e6e5958a 100644 --- a/doc/APIchunk28.html +++ b/doc/APIchunk28.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index x-x for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index x-x for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index x-x for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index x-x for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -107,7 +107,6 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>xmlAttributePtr</dt><dd><a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br /> <a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br /> </dd><dt>xmlAttributeTablePtr</dt><dd><a href="html/libxml-valid.html#xmlCopyAttributeTable">xmlCopyAttributeTable</a><br /> -</dd><dt>xmlBufNodeDump</dt><dd><a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br /> </dd><dt>xmlBufPtr</dt><dd><a href="html/libxml-tree.html#xmlBufGetNodeContent">xmlBufGetNodeContent</a><br /> </dd><dt>xmlBuffer</dt><dd><a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br /> <a href="html/libxml-encoding.html#xmlCharEncInFunc">xmlCharEncInFunc</a><br /> @@ -286,6 +285,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a><br /> <a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br /> <a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br /> +</dd><dt>xmlNodeDumpOutput</dt><dd><a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br /> </dd><dt>xmlNodeListGetString</dt><dd><a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br /> </dd><dt>xmlNodePtr</dt><dd><a href="html/libxml-tree.html#xmlCopyNode">xmlCopyNode</a><br /> <a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br /> @@ -305,7 +305,6 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>xmlNodeSetContentLen</dt><dd><a href="html/libxml-tree.html#xmlNodeAddContentLen">xmlNodeAddContentLen</a><br /> </dd><dt>xmlNodeSetPtr</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br /> <a href="html/libxml-xpath.html#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a><br /> -</dd><dt>xmlNodeType</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br /> </dd><dt>xmlNotationPtr</dt><dd><a href="html/libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a><br /> </dd><dt>xmlNotationTablePtr</dt><dd><a href="html/libxml-valid.html#xmlCopyNotationTable">xmlCopyNotationTable</a><br /> </dd><dt>xmlNs</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a><br /> @@ -374,6 +373,7 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>xmlRMutexUnlock</dt><dd><a href="html/libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a><br /> </dd><dt>xmlRNewMutex</dt><dd><a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br /> </dd><dt>xmlReader</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a><br /> +</dd><dt>xmlReaderTypes</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br /> </dd><dt>xmlRefPtr</dt><dd><a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br /> </dd><dt>xmlRelaxNGParserFlag</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br /> </dd><dt>xmlRelaxNGValidatePushElement</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br /> diff --git a/doc/APIchunk29.html b/doc/APIchunk29.html index 2aaa21b4..b4b7fc0b 100644 --- a/doc/APIchunk29.html +++ b/doc/APIchunk29.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index y-z for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index y-z for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index y-z for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index y-z for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> diff --git a/doc/APIchunk3.html b/doc/APIchunk3.html index 515118a9..77ee4523 100644 --- a/doc/APIchunk3.html +++ b/doc/APIchunk3.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index F-I for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index F-I for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index F-I for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index F-I for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -103,10 +103,10 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br /> </dd><dt>Form</dt><dd><a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br /> -</dd><dt>Formating</dt><dd><a href="html/libxml-HTMLtree.html#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a><br /> </dd><dt>Formats</dt><dd><a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br /> <a href="html/libxml-xmlstring.html#xmlStrVPrintf">xmlStrVPrintf</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPatherror">xmlXPatherror</a><br /> +</dd><dt>Formatting</dt><dd><a href="html/libxml-HTMLtree.html#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a><br /> </dd><dt>Formed</dt><dd><a href="html/libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a><br /> <a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a><br /> <a href="html/libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a><br /> @@ -297,6 +297,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br /> <a href="html/libxml-nanohttp.html#xmlNanoHTTPInit">xmlNanoHTTPInit</a><br /> <a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br /> +<a href="html/libxml-relaxng.html#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a><br /> <a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br /> <a href="html/libxml-SAX2.html#xmlSAX2InitDocbDefaultSAXHandler">xmlSAX2InitDocbDefaultSAXHandler</a><br /> <a href="html/libxml-SAX2.html#xmlSAX2InitHtmlDefaultSAXHandler">xmlSAX2InitHtmlDefaultSAXHandler</a><br /> @@ -306,7 +307,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xpathInternals.html#xmlXPathRoot">xmlXPathRoot</a><br /> </dd><dt>Initially</dt><dd><a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br /> </dd><dt>Initiate</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a><br /> -</dd><dt>Initilize</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a><br /> </dd><dt>Input</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> <a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br /> <a href="html/libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a><br /> @@ -317,10 +317,11 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>Insert</dt><dd><a href="html/libxml-list.html#xmlListAppend">xmlListAppend</a><br /> <a href="html/libxml-list.html#xmlListInsert">xmlListInsert</a><br /> <a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a><br /> -</dd><dt>Instruction</dt><dd><a href="html/libxml-parserInternals.html#xmlParsePI">xmlParsePI</a><br /> -</dd><dt>Instuction</dt><dd><a href="html/libxml-catalog.html#XML_CATALOG_PI">XML_CATALOG_PI</a><br /> +</dd><dt>Instruction</dt><dd><a href="html/libxml-catalog.html#XML_CATALOG_PI">XML_CATALOG_PI</a><br /> +<a href="html/libxml-parserInternals.html#xmlParsePI">xmlParsePI</a><br /> </dd><dt>Intended</dt><dd><a href="html/libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a><br /> </dd><dt>Internal</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br /> +<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br /> <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br /> </dd><dt>Introduced</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a><br /> <a href="html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a><br /> diff --git a/doc/APIchunk4.html b/doc/APIchunk4.html index 6fe8261a..30a68460 100644 --- a/doc/APIchunk4.html +++ b/doc/APIchunk4.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index J-N for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index J-N for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index J-N for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index J-N for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -247,11 +247,11 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-valid.html#xmlValidateNamesValue">xmlValidateNamesValue</a><br /> </dd><dt>Namespace</dt><dd><a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a><br /> <a href="html/libxml-tree.html#_xmlElementContent">_xmlElementContent</a><br /> +<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> <a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br /> <a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br /> <a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br /> -</dd><dt>Nanespace</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> </dd><dt>Needed</dt><dd><a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br /> </dd><dt>Nesting</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br /> <a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br /> diff --git a/doc/APIchunk5.html b/doc/APIchunk5.html index 98da499d..fe811d51 100644 --- a/doc/APIchunk5.html +++ b/doc/APIchunk5.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index O-P for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index O-P for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index O-P for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index O-P for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> diff --git a/doc/APIchunk6.html b/doc/APIchunk6.html index 346e7e54..be524d96 100644 --- a/doc/APIchunk6.html +++ b/doc/APIchunk6.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index Q-R for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index Q-R for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index Q-R for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index Q-R for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -235,6 +235,7 @@ A:link, A:visited, A:active { text-decoration: underline } </dd><dt>Resize</dt><dd><a href="html/libxml-tree.html#xmlBufferResize">xmlBufferResize</a><br /> </dd><dt>Resolves</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br /> </dd><dt>Resolving</dt><dd><a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br /> +</dd><dt>Resource</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br /> </dd><dt>Retrieve</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a><br /> <a href="html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a><br /> </dd><dt>Return</dt><dd><a href="html/libxml-xpathInternals.html#CHECK_TYPE0">CHECK_TYPE0</a><br /> diff --git a/doc/APIchunk7.html b/doc/APIchunk7.html index 3f46f99d..24329751 100644 --- a/doc/APIchunk7.html +++ b/doc/APIchunk7.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index S-S for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index S-S for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index S-S for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index S-S for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> @@ -100,13 +100,15 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-hash.html#xmlHashScan3">xmlHashScan3</a><br /> <a href="html/libxml-hash.html#xmlHashScanFull">xmlHashScanFull</a><br /> <a href="html/libxml-hash.html#xmlHashScanFull3">xmlHashScanFull3</a><br /> -</dd><dt>Schema</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaDump">xmlSchemaDump</a><br /> +</dd><dt>Schema</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br /> +<a href="html/libxml-xmlschemas.html#xmlSchemaDump">xmlSchemaDump</a><br /> <a href="html/libxml-xmlschemas.html#xmlSchemaFree">xmlSchemaFree</a><br /> <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a><br /> <a href="html/libxml-schemasInternals.html#xmlSchemaFreeType">xmlSchemaFreeType</a><br /> <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br /> <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br /> <a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br /> +<a href="html/libxml-schematron.html#xmlSchematronParse">xmlSchematronParse</a><br /> <a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a><br /> <a href="html/libxml-xmlreader.html#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a><br /> <a href="html/libxml-xmlreader.html#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a><br /> @@ -199,9 +201,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlreader.html#xmlTextReaderSetup">xmlTextReaderSetup</a><br /> </dd><dt>Shavian</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsShavian">xmlUCSIsShavian</a><br /> </dd><dt>Shell</dt><dd><a href="html/libxml-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a><br /> -</dd><dt>Shema</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br /> -<a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br /> -<a href="html/libxml-schematron.html#xmlSchematronParse">xmlSchematronParse</a><br /> </dd><dt>Should</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br /> <a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br /> <a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br /> diff --git a/doc/APIchunk8.html b/doc/APIchunk8.html index 934e39d9..1038288c 100644 --- a/doc/APIchunk8.html +++ b/doc/APIchunk8.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index T-U for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index T-U for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index T-U for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index T-U for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> diff --git a/doc/APIchunk9.html b/doc/APIchunk9.html index 8c4ac1fc..1aba6ea6 100644 --- a/doc/APIchunk9.html +++ b/doc/APIchunk9.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>API Alphabetic Index V-X for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index V-X for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 align="center"><a href="APIchunk0.html">A-B</a> +</style><title>API Alphabetic Index V-X for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index V-X for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a> <a href="APIchunk1.html">C-C</a> <a href="APIchunk2.html">D-E</a> <a href="APIchunk3.html">F-I</a> diff --git a/doc/APIconstructors.html b/doc/APIconstructors.html index d5ca488c..3a18bce7 100644 --- a/doc/APIconstructors.html +++ b/doc/APIconstructors.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>List of constructors for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>List of constructors for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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>Type SOCKET:</h2><p><a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a><br /> +</style><title>List of constructors for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>List of constructors for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Type SOCKET:</h2><p><a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a><br /> <a href="html/libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a><br /> </p><h2>Type const htmlElemDesc *:</h2><p><a href="html/libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a><br /> </p><h2>Type const htmlEntityDesc *:</h2><p><a href="html/libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a><br /> diff --git a/doc/APIfiles.html b/doc/APIfiles.html index 8c29c067..35780565 100644 --- a/doc/APIfiles.html +++ b/doc/APIfiles.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>List of Symbols per Module for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>List of Symbols per Module for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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><a name="DOCBparser" id="DOCBparser">Module DOCBparser</a>:</h2><p><a href="html/libxml-DOCBparser.html#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a><br /> +</style><title>List of Symbols per Module for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>List of Symbols per Module for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2><a name="DOCBparser" id="DOCBparser">Module DOCBparser</a>:</h2><p><a href="html/libxml-DOCBparser.html#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a><br /> <a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br /> <a href="html/libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a><br /> <a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br /> @@ -2634,7 +2634,6 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xmlexports.html#XMLCDECL">XMLCDECL</a><br /> <a href="html/libxml-xmlexports.html#XMLPUBFUN">XMLPUBFUN</a><br /> <a href="html/libxml-xmlexports.html#XMLPUBVAR">XMLPUBVAR</a><br /> -<a href="html/libxml-xmlexports.html#_REENTRANT">_REENTRANT</a><br /> </p><h2><a name="xmlmemory" id="xmlmemory">Module xmlmemory</a>:</h2><p><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br /> <a href="html/libxml-xmlmemory.html#xmlCleanupMemory">xmlCleanupMemory</a><br /> <a href="html/libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a><br /> @@ -3323,8 +3322,10 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xpath.html#XPATH_NODESET">XPATH_NODESET</a><br /> <a href="html/libxml-xpath.html#XPATH_NUMBER">XPATH_NUMBER</a><br /> <a href="html/libxml-xpath.html#XPATH_NUMBER_ERROR">XPATH_NUMBER_ERROR</a><br /> +<a href="html/libxml-xpath.html#XPATH_OP_LIMIT_EXCEEDED">XPATH_OP_LIMIT_EXCEEDED</a><br /> <a href="html/libxml-xpath.html#XPATH_POINT">XPATH_POINT</a><br /> <a href="html/libxml-xpath.html#XPATH_RANGE">XPATH_RANGE</a><br /> +<a href="html/libxml-xpath.html#XPATH_RECURSION_LIMIT_EXCEEDED">XPATH_RECURSION_LIMIT_EXCEEDED</a><br /> <a href="html/libxml-xpath.html#XPATH_STACK_ERROR">XPATH_STACK_ERROR</a><br /> <a href="html/libxml-xpath.html#XPATH_START_LITERAL_ERROR">XPATH_START_LITERAL_ERROR</a><br /> <a href="html/libxml-xpath.html#XPATH_STRING">XPATH_STRING</a><br /> diff --git a/doc/APIfunctions.html b/doc/APIfunctions.html index c1d172dc..14995a23 100644 --- a/doc/APIfunctions.html +++ b/doc/APIfunctions.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>List of function manipulating types in libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>List of function manipulating types in libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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>Type ...:</h2><p><a href="html/libxml-parser.html#errorSAXFunc">errorSAXFunc</a><br /> +</style><title>List of function manipulating types in libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>List of function manipulating types in libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Type ...:</h2><p><a href="html/libxml-parser.html#errorSAXFunc">errorSAXFunc</a><br /> <a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br /> <a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br /> <a href="html/libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a><br /> diff --git a/doc/APIsymbols.html b/doc/APIsymbols.html index a77be6d4..1af527ab 100644 --- a/doc/APIsymbols.html +++ b/doc/APIsymbols.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Alphabetic List of Symbols in libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Alphabetic List of Symbols in libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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>Letter A:</h2><p><a href="html/libxml-xmlversion.html#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a><br /> +</style><title>Alphabetic List of Symbols in libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Alphabetic List of Symbols in libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Letter A:</h2><p><a href="html/libxml-xmlversion.html#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a><br /> </p><h2>Letter B:</h2><p><a href="html/libxml-xmlstring.html#BAD_CAST">BAD_CAST</a><br /> <a href="html/libxml-tree.html#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a><br /> </p><h2>Letter C:</h2><p><a href="html/libxml-xpathInternals.html#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a><br /> @@ -1445,8 +1445,10 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xpath.html#XPATH_NODESET">XPATH_NODESET</a><br /> <a href="html/libxml-xpath.html#XPATH_NUMBER">XPATH_NUMBER</a><br /> <a href="html/libxml-xpath.html#XPATH_NUMBER_ERROR">XPATH_NUMBER_ERROR</a><br /> +<a href="html/libxml-xpath.html#XPATH_OP_LIMIT_EXCEEDED">XPATH_OP_LIMIT_EXCEEDED</a><br /> <a href="html/libxml-xpath.html#XPATH_POINT">XPATH_POINT</a><br /> <a href="html/libxml-xpath.html#XPATH_RANGE">XPATH_RANGE</a><br /> +<a href="html/libxml-xpath.html#XPATH_RECURSION_LIMIT_EXCEEDED">XPATH_RECURSION_LIMIT_EXCEEDED</a><br /> <a href="html/libxml-xpath.html#XPATH_STACK_ERROR">XPATH_STACK_ERROR</a><br /> <a href="html/libxml-xpath.html#XPATH_START_LITERAL_ERROR">XPATH_START_LITERAL_ERROR</a><br /> <a href="html/libxml-xpath.html#XPATH_STRING">XPATH_STRING</a><br /> @@ -1464,8 +1466,7 @@ A:link, A:visited, A:active { text-decoration: underline } <a href="html/libxml-xpath.html#XPTR_SYNTAX_ERROR">XPTR_SYNTAX_ERROR</a><br /> <a href="html/libxml-xpathInternals.html#XP_ERROR">XP_ERROR</a><br /> <a href="html/libxml-xpathInternals.html#XP_ERROR0">XP_ERROR0</a><br /> -</p><h2>Letter _:</h2><p><a href="html/libxml-xmlexports.html#_REENTRANT">_REENTRANT</a><br /> -<a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br /> +</p><h2>Letter _:</h2><p><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br /> <a href="html/libxml-HTMLparser.html#_htmlEntityDesc">_htmlEntityDesc</a><br /> <a href="html/libxml-encoding.html#_uconv_t">_uconv_t</a><br /> <a href="html/libxml-xlink.html#_xlinkHandler">_xlinkHandler</a><br /> diff --git a/doc/DOM.html b/doc/DOM.html index 5b2517c2..32667885 100644 --- a/doc/DOM.html +++ b/doc/DOM.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>DOM Principles</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>DOM Principles</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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><a href="http://www.w3.org/DOM/">DOM</a> stands for the <em>Document +</style><title>DOM Principles</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>DOM Principles</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p><a href="http://www.w3.org/DOM/">DOM</a> stands for the <em>Document Object Model</em>; this is an API for accessing XML or HTML structured documents. Native support for DOM in Gnome is on the way (module gnome-dom), and will be based on gnome-xml. This will be a far cleaner interface to diff --git a/doc/FAQ.html b/doc/FAQ.html index 3481c197..e80cef6a 100644 --- a/doc/FAQ.html +++ b/doc/FAQ.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>FAQ</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>FAQ</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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>Table of Contents:</p><ul> +</style><title>FAQ</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>FAQ</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Contents:</p><ul> <li><a href="FAQ.html#License">License(s)</a></li> <li><a href="FAQ.html#Installati">Installation</a></li> <li><a href="FAQ.html#Compilatio">Compilation</a></li> diff --git a/doc/Makefile.am b/doc/Makefile.am index 6bda5665..56cac845 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -143,7 +143,6 @@ EXTRA_DIST = \ html/libxml-xpath.html \ html/libxml-xpathInternals.html \ html/libxml-xpointer.html \ - html/libxml-xzlib.html \ html/right.png \ html/up.png \ index.html \ diff --git a/doc/README.docs b/doc/README.docs index 279b3757..ef30e43a 100644 --- a/doc/README.docs +++ b/doc/README.docs @@ -16,7 +16,7 @@ The list archive is at: http://mail.gnome.org/archives/xml/ All technical answers asked privately will be automatically answered on -the list and archived for public access unless pricacy is explicitely +the list and archived for public access unless pricacy is explicitly required and justified. Daniel Veillard diff --git a/doc/XMLinfo.html b/doc/XMLinfo.html index 44a7b36c..de05bcfa 100644 --- a/doc/XMLinfo.html +++ b/doc/XMLinfo.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>XML</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>XML</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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><a href="http://www.w3.org/TR/REC-xml">XML is a standard</a> for +</style><title>XML</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>XML</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="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 & 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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p><a href="http://www.w3.org/TR/REC-xml">XML is a standard</a> for markup-based structured documents. Here is <a name="example" id="example">an example XML document</a>:</p><pre><?xml version="1.0"?> <EXAMPLE prop1="gnome is great" prop2="&amp; linux too"> diff --git a/doc/XSLT.html b/doc/XSLT.html index 264a6774..d639f420 100644 --- a/doc/XSLT.html +++ b/doc/XSLT.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>XSLT</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>XSLT</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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>Check <a href="http://xmlsoft.org/XSLT">the separate libxslt page</a></p><p><a href="http://www.w3.org/TR/xslt">XSL Transformations</a>, is a +</style><title>XSLT</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>XSLT</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="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 & 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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Check <a href="http://xmlsoft.org/XSLT">the separate libxslt page</a></p><p><a href="http://www.w3.org/TR/xslt">XSL Transformations</a>, is a language for transforming XML documents into other XML documents (or HTML/textual output).</p><p>A separate library called libxslt is available implementing XSLT-1.0 for libxml2. This module "libxslt" too can be found in the Gnome SVN base.</p><p>You can check the progresses on the libxslt <a href="http://xmlsoft.org/XSLT/ChangeLog.html">Changelog</a>.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html> diff --git a/doc/apibuild.py b/doc/apibuild.py index 7a364663..18e8a9d3 100755 --- a/doc/apibuild.py +++ b/doc/apibuild.py @@ -42,7 +42,6 @@ ignored_files = { "testThreads.c": "test tool", "testC14N.c": "test tool", "testRelax.c": "test tool", - "testThreadsWin32.c": "test tool", "testSAX.c": "test tool", "testURI.c": "test tool", "testapi.c": "generated regression tests", @@ -75,13 +74,14 @@ ignored_words = { "__declspec": (3, "Windows keyword"), "__stdcall": (0, "Windows keyword"), "ATTRIBUTE_UNUSED": (0, "macro keyword"), + "ATTRIBUTE_DESTRUCTOR": (0, "macro keyword"), "LIBEXSLT_PUBLIC": (0, "macro keyword"), "X_IN_Y": (5, "macro function builder"), "ATTRIBUTE_ALLOC_SIZE": (3, "macro for gcc checking extension"), "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"), + "ATTRIBUTE_NO_SANITIZE": (3, "macro keyword"), } def escape(raw): @@ -808,7 +808,7 @@ class CParser: return((args, desc)) # - # Parse a comment block and merge the informations found in the + # Parse a comment block and merge the information found in the # parameters descriptions, finally returns a block as complete # as possible # diff --git a/doc/architecture.html b/doc/architecture.html index 62a922f6..e08a1021 100644 --- a/doc/architecture.html +++ b/doc/architecture.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>libxml2 architecture</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>libxml2 architecture</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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>Libxml2 is made of multiple components; some of them are optional, and +</style><title>libxml2 architecture</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>libxml2 architecture</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Libxml2 is made of multiple components; some of them are optional, and most of the block interfaces are public. The main components are:</p><ul> <li>an Input/Output layer</li> <li>FTP and HTTP client layers (optional)</li> diff --git a/doc/bugs.html b/doc/bugs.html index 52970d3b..e5ccea86 100644 --- a/doc/bugs.html +++ b/doc/bugs.html @@ -7,9 +7,9 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Reporting bugs and getting help</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Reporting bugs and getting help</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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>Well, bugs or missing features are always possible, and I will make a +</style><title>Reporting bugs and getting help</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Reporting bugs and getting help</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="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 & 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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Well, bugs or missing features are always possible, and I will make a point of fixing them in a timely fashion. The best way to report a bug is to -use the <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Gnome +use the <a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Gnome bug tracking database</a> (make sure to use the "libxml2" module name). I look at reports there regularly and it's good to have a reminder when a bug is still open. Be sure to specify that the bug is for the package libxml2.</p><p>For small problems you can try to get help on IRC, the #xml channel on @@ -38,7 +38,7 @@ posting</span></strong>:</p><ul> version</a>, and that the problem still shows up in a recent version.</li> <li>Check the <a href="http://mail.gnome.org/archives/xml/">list archives</a> to see if the problem was reported already. In this case - there is probably a fix available, similarly check the <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">registered + there is probably a fix available, similarly check the <a href="https://gitlab.gnome.org/GNOME/libxml2/issues">registered open bugs</a>.</li> <li>Make sure you can reproduce the bug with xmllint or one of the test programs found in source in the distribution.</li> @@ -49,7 +49,7 @@ related I will approve it. Please do not send mail to me directly, it makes things really hard to track and in some cases I am not the best person to answer a given question, ask on the list.</p><p>To <span style="color: #E50000">be really clear about support</span>:</p><ul> <li>Support or help <span style="color: #E50000">requests MUST be sent to - the list or on bugzilla</span> in case of problems, so that the Question + the list or the bug tracker</span> in case of problems, so that the Question and Answers can be shared publicly. Failing to do so carries the implicit message "I want free support but I don't want to share the benefits with others" and is not welcome. I will automatically Carbon-Copy the diff --git a/doc/catalog.html b/doc/catalog.html index 3d5bbe1c..42be5e76 100644 --- a/doc/catalog.html +++ b/doc/catalog.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Catalog support</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Catalog support</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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>Table of Content:</p><ol> +</style><title>Catalog support</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Catalog support</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol> <li><a href="General2">General overview</a></li> <li><a href="#definition">The definition</a></li> <li><a href="#Simple">Using catalogs</a></li> diff --git a/doc/contribs.html b/doc/contribs.html index 37a50c96..876cb5aa 100644 --- a/doc/contribs.html +++ b/doc/contribs.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Contributions</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Contributions</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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"><ul> +</style><title>Contributions</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Contributions</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><ul> <li>Bjorn Reese, William Brack and Thomas Broyer have provided a number of patches, Gary Pennington worked on the validation API, threading support and Solaris port.</li> diff --git a/doc/devhelp/libxml2-HTMLtree.html b/doc/devhelp/libxml2-HTMLtree.html index 6430f8b9..f170340d 100644 --- a/doc/devhelp/libxml2-HTMLtree.html +++ b/doc/devhelp/libxml2-HTMLtree.html @@ -99,7 +99,7 @@ void <a href="#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a> (<a href=" <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="htmlDocContentDumpOutput"/>htmlDocContentDumpOutput ()</h3><pre class="programlisting">void htmlDocContentDumpOutput (<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/> const char * encoding)<br/> -</pre><p>Dump an HTML document. Formating return/spaces are added.</p> +</pre><p>Dump an HTML document. Formatting return/spaces are added.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="htmlDocDump"/>htmlDocDump ()</h3><pre class="programlisting">int htmlDocDump (FILE * f, <br/> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br/> diff --git a/doc/devhelp/libxml2-c14n.html b/doc/devhelp/libxml2-c14n.html index 914500eb..602d932a 100644 --- a/doc/devhelp/libxml2-c14n.html +++ b/doc/devhelp/libxml2-c14n.html @@ -58,7 +58,7 @@ int <a href="#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a> (<a href="libxml2- <h2>Details</h2> <div class="refsect2" lang="en"> <div class="refsect2" lang="en"><h3><a name="xmlC14NMode">Enum </a>xmlC14NMode</h3><pre class="programlisting">enum <a href="#xmlC14NMode">xmlC14NMode</a> { - <a name="XML_C14N_1_0">XML_C14N_1_0</a> = 0 /* Origianal C14N 1.0 spec */ + <a name="XML_C14N_1_0">XML_C14N_1_0</a> = 0 /* Original C14N 1.0 spec */ <a name="XML_C14N_EXCLUSIVE_1_0">XML_C14N_EXCLUSIVE_1_0</a> = 1 /* Exclusive C14N 1.0 spec */ <a name="XML_C14N_1_1">XML_C14N_1_1</a> = 2 /* C14N 1.1 spec */ }; @@ -67,7 +67,7 @@ int <a href="#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a> (<a href="libxml2- <hr/> <div class="refsect2" lang="en"><h3><a name="xmlC14NIsVisibleCallback"/>Function type xmlC14NIsVisibleCallback</h3><pre class="programlisting">int xmlC14NIsVisibleCallback (void * user_data, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br/> </pre><p>Signature for a C14N callback on visible nodes</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>user data</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the curent node</td></tr><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node should be included</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>user data</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node should be included</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlC14NDocDumpMemory"/>xmlC14NDocDumpMemory ()</h3><pre class="programlisting">int xmlC14NDocDumpMemory (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/> <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/> int mode, <br/> <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br/> int with_comments, <br/> <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr)<br/> </pre><p>Dumps the canonized image of given XML document into memory. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p> @@ -75,7 +75,7 @@ int <a href="#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a> (<a href="libxml2- <hr/> <div class="refsect2" lang="en"><h3><a name="xmlC14NDocSave"/>xmlC14NDocSave ()</h3><pre class="programlisting">int xmlC14NDocSave (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/> <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/> int mode, <br/> <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br/> int with_comments, <br/> const char * filename, <br/> int compression)<br/> </pre><p>Dumps the canonized image of given XML document into the file. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document for canonization</td></tr><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename to store canonical XML image</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>the compression level (zlib requred): -1 - libxml default, 0 - uncompressed, >0 - compression level</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written success or a negative value on fail</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document for canonization</td></tr><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename to store canonical XML image</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>the compression level (zlib required): -1 - libxml default, 0 - uncompressed, >0 - compression level</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written success or a negative value on fail</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlC14NDocSaveTo"/>xmlC14NDocSaveTo ()</h3><pre class="programlisting">int xmlC14NDocSaveTo (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/> <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/> int mode, <br/> <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br/> int with_comments, <br/> <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br/> </pre><p>Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p> diff --git a/doc/devhelp/libxml2-catalog.html b/doc/devhelp/libxml2-catalog.html index 11fc4c6a..04dedd8d 100644 --- a/doc/devhelp/libxml2-catalog.html +++ b/doc/devhelp/libxml2-catalog.html @@ -98,7 +98,7 @@ void <a href="#xmlCatalogCleanup">xmlCatalogCleanup</a> (void); </div> <hr/> <div class="refsect2" lang="en"><h3><a name="XML_CATALOG_PI">Macro </a>XML_CATALOG_PI</h3><pre class="programlisting">#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a>; -</pre><p>The specific XML Catalog Processing Instuction name.</p> +</pre><p>The specific XML Catalog Processing Instruction name.</p> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlCatalog">Structure </a>xmlCatalog</h3><pre class="programlisting">struct _xmlCatalog { diff --git a/doc/devhelp/libxml2-debugXML.html b/doc/devhelp/libxml2-debugXML.html index 00541cd6..0eefb4e8 100644 --- a/doc/devhelp/libxml2-debugXML.html +++ b/doc/devhelp/libxml2-debugXML.html @@ -132,7 +132,7 @@ void <a href="#xmlShell">xmlShell</a> (<a href="libxml2-tree.html#xmlDocPtr">x <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpDocumentHead"/>xmlDebugDumpDocumentHead ()</h3><pre class="programlisting">void xmlDebugDumpDocumentHead (FILE * output, <br/> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/> -</pre><p>Dumps debug information cncerning the document, not recursive</p> +</pre><p>Dumps debug information concerning the document, not recursive</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpEntities"/>xmlDebugDumpEntities ()</h3><pre class="programlisting">void xmlDebugDumpEntities (FILE * output, <br/> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/> diff --git a/doc/devhelp/libxml2-dict.html b/doc/devhelp/libxml2-dict.html index 6bff563b..a0c5415b 100644 --- a/doc/devhelp/libxml2-dict.html +++ b/doc/devhelp/libxml2-dict.html @@ -105,7 +105,7 @@ The content of this structure is not made public by the API. <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> +</pre><p>check if a string is owned by the dictionary</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false and -1 in case of error -1 in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlDictQLookup"/>xmlDictQLookup ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlDictQLookup (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/> diff --git a/doc/devhelp/libxml2-encoding.html b/doc/devhelp/libxml2-encoding.html index b11fbfbb..0190bd39 100644 --- a/doc/devhelp/libxml2-encoding.html +++ b/doc/devhelp/libxml2-encoding.html @@ -158,11 +158,11 @@ const char * <a href="#xmlGetCharEncodingName">xmlGetCharEncodingName</a> (<a hr <hr/> <div class="refsect2" lang="en"><h3><a name="xmlCharEncCloseFunc"/>xmlCharEncCloseFunc ()</h3><pre class="programlisting">int xmlCharEncCloseFunc (<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler)<br/> </pre><p>Generic front-end for encoding handler close function</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char enconding transformation data structure</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success, or -1 in case of error</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data structure</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success, or -1 in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlCharEncFirstLine"/>xmlCharEncFirstLine ()</h3><pre class="programlisting">int xmlCharEncFirstLine (<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br/> <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br/> <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br/> </pre><p>Front-end for the encoding handler input function, but handle only the very first line, i.e. limit itself to 45 chars.</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char enconding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlCharEncInFunc"/>xmlCharEncInFunc ()</h3><pre class="programlisting">int xmlCharEncInFunc (<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br/> <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br/> <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br/> </pre><p>Generic front-end for the encoding handler input function</p> @@ -170,7 +170,7 @@ const char * <a href="#xmlGetCharEncodingName">xmlGetCharEncodingName</a> (<a hr <hr/> <div class="refsect2" lang="en"><h3><a name="xmlCharEncOutFunc"/>xmlCharEncOutFunc ()</h3><pre class="programlisting">int xmlCharEncOutFunc (<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br/> <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br/> <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br/> </pre><p>Generic front-end for the encoding handler output function a first call with @in == NULL has to be made firs to initiate the output in case of non-stateless encoding needing to initiate their state or the output (like the BOM in UTF16). In case of UTF8 sequence conversion errors for the given encoder, the content will be automatically remapped to a CharRef sequence.</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char enconding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlCleanupCharEncodingHandlers"/>xmlCleanupCharEncodingHandlers ()</h3><pre class="programlisting">void xmlCleanupCharEncodingHandlers (void)<br/> </pre><p>Cleanup the memory allocated for the char encoding support, it unregisters all the encoding handlers and the aliases.</p> diff --git a/doc/devhelp/libxml2-entities.html b/doc/devhelp/libxml2-entities.html index 3262c40a..a40104cb 100644 --- a/doc/devhelp/libxml2-entities.html +++ b/doc/devhelp/libxml2-entities.html @@ -157,7 +157,7 @@ The content of this structure is not made public by the API. </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlNewEntity"/>xmlNewEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> xmlNewEntity (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/> int type, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/> -</pre><p>Create a new entity, this differs from xmlAddDocEntity() that if the document is NULL or has no internal subset defined, then an unlinked entity structure will be returned, it is then the responsability of the caller to link it to the document later or free it when not needed anymore.</p> +</pre><p>Create a new entity, this differs from xmlAddDocEntity() that if the document is NULL or has no internal subset defined, then an unlinked entity structure will be returned, it is then the responsibility of the caller to link it to the document later or free it when not needed anymore.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the entity type XML_xxx_yyy_ENTITY</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the entity external ID if available</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the entity system ID if available</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the entity content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the entity or NULL in case of error</td></tr></tbody></table></div></div> <hr/> </div> diff --git a/doc/devhelp/libxml2-hash.html b/doc/devhelp/libxml2-hash.html index e2dd7abd..9f997fbd 100644 --- a/doc/devhelp/libxml2-hash.html +++ b/doc/devhelp/libxml2-hash.html @@ -107,11 +107,11 @@ The content of this structure is not made public by the API. <hr/> <div class="refsect2" lang="en"><h3><a name="xmlHashScanner"/>Function type xmlHashScanner</h3><pre class="programlisting">void xmlHashScanner (void * payload, <br/> void * data, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/> </pre><p>Callback when scanning data in a hash with the simple scanner.</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra scannner data</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra scanner data</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlHashScannerFull"/>Function type xmlHashScannerFull</h3><pre class="programlisting">void xmlHashScannerFull (void * payload, <br/> void * data, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br/> </pre><p>Callback when scanning data in a hash with the full scanner.</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra scannner data</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>the second name associated</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>the third name associated</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra scanner data</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>the second name associated</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>the third name associated</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlHashAddEntry"/>xmlHashAddEntry ()</h3><pre class="programlisting">int xmlHashAddEntry (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/> void * userdata)<br/> </pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Duplicate names generate errors.</p> diff --git a/doc/devhelp/libxml2-parser.html b/doc/devhelp/libxml2-parser.html index c7405544..601c54d6 100644 --- a/doc/devhelp/libxml2-parser.html +++ b/doc/devhelp/libxml2-parser.html @@ -298,7 +298,7 @@ void <a href="#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a> (<a hr <a name="XML_PARSE_PEDANTIC">XML_PARSE_PEDANTIC</a> = 128 /* pedantic error reporting */ <a name="XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a> = 256 /* remove blank nodes */ <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_XINCLUDE">XML_PARSE_XINCLUDE</a> = 1024 /* Implement XInclude substitution */ <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 dictionary */ <a name="XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a> = 8192 /* remove redundant namespaces declarations */ diff --git a/doc/devhelp/libxml2-parserInternals.html b/doc/devhelp/libxml2-parserInternals.html index 915ad5bf..2fca6bdd 100644 --- a/doc/devhelp/libxml2-parserInternals.html +++ b/doc/devhelp/libxml2-parserInternals.html @@ -279,7 +279,7 @@ void <a href="#xmlParseEntityDecl">xmlParseEntityDecl</a> (<a href="libxml2-tre </div> <hr/> <div class="refsect2" lang="en"><h3><a name="XML_MAX_NAME_LENGTH">Macro </a>XML_MAX_NAME_LENGTH</h3><pre class="programlisting">#define <a href="#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a>; -</pre><p>Maximum size allowed for a markup identitier This is not a limitation of the parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Note that with the use of parsing dictionaries overriding the limit may result in more runtime memory usage in face of "unfriendly' content Introduced in 2.9.0</p> +</pre><p>Maximum size allowed for a markup identifier. This is not a limitation of the parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Note that with the use of parsing dictionaries overriding the limit may result in more runtime memory usage in face of "unfriendly' content Introduced in 2.9.0</p> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="XML_MAX_TEXT_LENGTH">Macro </a>XML_MAX_TEXT_LENGTH</h3><pre class="programlisting">#define <a href="#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a>; @@ -355,7 +355,7 @@ void <a href="#xmlParseEntityDecl">xmlParseEntityDecl</a> (<a href="libxml2-tre <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the element node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, the index in the stack otherwise</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlCheckLanguageID"/>xmlCheckLanguageID ()</h3><pre class="programlisting">int xmlCheckLanguageID (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang)<br/> -</pre><p>Checks that the value conforms to the LanguageID production: NOTE: this is somewhat deprecated, those productions were removed from the XML Second edition. [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::= ISO639Code | IanaCode | UserCode [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ The current REC <a href="libxml2-SAX.html#reference">reference</a> the sucessors of RFC 1766, currently 5646 http://www.rfc-editor.org/rfc/rfc5646.txt langtag = language ["-" script] ["-" region] *("-" variant) *("-" extension) ["-" privateuse] language = 2*3ALPHA ; shortest ISO 639 code ["-" extlang] ; sometimes followed by ; extended language subtags / 4ALPHA ; or reserved for future use / 5*8ALPHA ; or registered language subtag extlang = 3ALPHA ; selected ISO 639 codes *2("-" 3ALPHA) ; permanently reserved script = 4ALPHA ; ISO 15924 code region = 2ALPHA ; ISO 3166-1 code / 3DIGIT ; UN M.49 code variant = 5*8alphanum ; registered variants / (DIGIT 3alphanum) extension = singleton 1*("-" (2*8alphanum)) ; Single alphanumerics ; "x" reserved for private use singleton = DIGIT ; 0 - 9 / %x41-57 ; A - W / %x59-5A ; Y - Z / %x61-77 ; a - w / %x79-7A ; y - z it sounds right to still allow Irregular i-xxx IANA and user codes too The parser below doesn't try to cope with extension or privateuse that could be added but that's not interoperable anyway</p> +</pre><p>Checks that the value conforms to the LanguageID production: NOTE: this is somewhat deprecated, those productions were removed from the XML Second edition. [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::= ISO639Code | IanaCode | UserCode [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ The current REC <a href="libxml2-SAX.html#reference">reference</a> the successors of RFC 1766, currently 5646 http://www.rfc-editor.org/rfc/rfc5646.txt langtag = language ["-" script] ["-" region] *("-" variant) *("-" extension) ["-" privateuse] language = 2*3ALPHA ; shortest ISO 639 code ["-" extlang] ; sometimes followed by ; extended language subtags / 4ALPHA ; or reserved for future use / 5*8ALPHA ; or registered language subtag extlang = 3ALPHA ; selected ISO 639 codes *2("-" 3ALPHA) ; permanently reserved script = 4ALPHA ; ISO 15924 code region = 2ALPHA ; ISO 3166-1 code / 3DIGIT ; UN M.49 code variant = 5*8alphanum ; registered variants / (DIGIT 3alphanum) extension = singleton 1*("-" (2*8alphanum)) ; Single alphanumerics ; "x" reserved for private use singleton = DIGIT ; 0 - 9 / %x41-57 ; A - W / %x59-5A ; Y - Z / %x61-77 ; a - w / %x79-7A ; y - z it sounds right to still allow Irregular i-xxx IANA and user codes too The parser below doesn't try to cope with extension or privateuse that could be added but that's not interoperable anyway</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>lang</tt></i>:</span></td><td>pointer to the string value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if correct 0 otherwise</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlCopyChar"/>xmlCopyChar ()</h3><pre class="programlisting">int xmlCopyChar (int len, <br/> <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br/> int val)<br/> @@ -483,7 +483,7 @@ void <a href="#xmlParseEntityDecl">xmlParseEntityDecl</a> (<a href="libxml2-tre <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlParseElement"/>xmlParseElement ()</h3><pre class="programlisting">void xmlParseElement (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/> -</pre><p>parse an XML element, this is highly recursive [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] The Name in an element's end-tag must match the element type in the start-tag.</p> +</pre><p>parse an XML element [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] The Name in an element's end-tag must match the element type in the start-tag.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlParseElementChildrenContentDecl"/>xmlParseElementChildrenContentDecl ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> xmlParseElementChildrenContentDecl (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/> int inputchk)<br/> @@ -575,7 +575,7 @@ void <a href="#xmlParseEntityDecl">xmlParseEntityDecl</a> (<a href="libxml2-tre <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlParsePI"/>xmlParsePI ()</h3><pre class="programlisting">void xmlParsePI (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/> -</pre><p>parse an XML Processing Instruction. [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>' The processing is transfered to SAX once parsed.</p> +</pre><p>parse an XML Processing Instruction. [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>' The processing is transferred to SAX once parsed.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlParsePITarget"/>xmlParsePITarget ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlParsePITarget (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/> diff --git a/doc/devhelp/libxml2-relaxng.html b/doc/devhelp/libxml2-relaxng.html index 23905d0d..128ff3a6 100644 --- a/doc/devhelp/libxml2-relaxng.html +++ b/doc/devhelp/libxml2-relaxng.html @@ -209,7 +209,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 otherwise</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGInitTypes"/>xmlRelaxNGInitTypes ()</h3><pre class="programlisting">int xmlRelaxNGInitTypes (void)<br/> -</pre><p>Initilize the default type libraries.</p> +</pre><p>Initialize the default type libraries.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGNewDocParserCtxt"/>xmlRelaxNGNewDocParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> xmlRelaxNGNewDocParserCtxt (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/> @@ -229,7 +229,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML RelaxNGs</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGParse"/>xmlRelaxNGParse ()</h3><pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> xmlRelaxNGParse (<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br/> -</pre><p>parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.</p> +</pre><p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal XML RelaxNG structure built from the resource or NULL in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGSetParserErrors"/>xmlRelaxNGSetParserErrors ()</h3><pre class="programlisting">void xmlRelaxNGSetParserErrors (<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br/> <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br/> <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br/> void * ctx)<br/> diff --git a/doc/devhelp/libxml2-schemasInternals.html b/doc/devhelp/libxml2-schemasInternals.html index ab917549..0d6d39e6 100644 --- a/doc/devhelp/libxml2-schemasInternals.html +++ b/doc/devhelp/libxml2-schemasInternals.html @@ -189,7 +189,7 @@ void <a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a> (<a href="libxm </div> <hr/> <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTRGROUP_GLOBAL">Macro </a>XML_SCHEMAS_ATTRGROUP_GLOBAL</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a>; -</pre><p>The <a href="libxml2-SAX.html#attribute">attribute</a> wildcard has been already builded.</p> +</pre><p>The <a href="libxml2-SAX.html#attribute">attribute</a> group has been defined.</p> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTRGROUP_HAS_REFS">Macro </a>XML_SCHEMAS_ATTRGROUP_HAS_REFS</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a>; @@ -205,7 +205,7 @@ void <a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a> (<a href="libxm </div> <hr/> <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">Macro </a>XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a>; -</pre><p>The <a href="libxml2-SAX.html#attribute">attribute</a> wildcard has been already builded.</p> +</pre><p>The <a href="libxml2-SAX.html#attribute">attribute</a> wildcard has been built.</p> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTR_FIXED">Macro </a>XML_SCHEMAS_ATTR_FIXED</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a>; @@ -265,7 +265,7 @@ void <a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a> (<a href="libxm </div> <hr/> <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a>; -</pre><p>disallowed substitutions: "substituion"</p> +</pre><p>disallowed substitutions: "substitution"</p> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_CIRCULAR">Macro </a>XML_SCHEMAS_ELEM_CIRCULAR</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a>; @@ -345,7 +345,7 @@ void <a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a> (<a href="libxm </div> <hr/> <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FINAL_DEFAULT_LIST">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_LIST</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a>; -</pre><p>the cshema has "list" in the set of finalDefault.</p> +</pre><p>the schema has "list" in the set of finalDefault.</p> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</h3><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a>; @@ -604,7 +604,7 @@ void <a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a> (<a href="libxm <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> contModel : Obsolete for WXS, maybe used for RelaxNG <a href="libxml2-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a> contentType const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * refPrefix : Deprecated; not used - <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> defVal : The compiled value contraint. + <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> defVal : The compiled value constraint. void * idcs : The identity-constraint defs } xmlSchemaElement; </pre><p/> diff --git a/doc/devhelp/libxml2-schematron.html b/doc/devhelp/libxml2-schematron.html index c99e33e1..d4ac573a 100644 --- a/doc/devhelp/libxml2-schematron.html +++ b/doc/devhelp/libxml2-schematron.html @@ -149,7 +149,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML Schematrons</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a set of <a href="libxml2-schematron.html#xmlSchematronValidOptions">xmlSchematronValidOptions</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlSchematronParse"/>xmlSchematronParse ()</h3><pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> xmlSchematronParse (<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br/> -</pre><p>parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.</p> +</pre><p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal XML Schematron structure built from the resource or NULL in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlSchematronSetValidStructuredErrors"/>xmlSchematronSetValidStructuredErrors ()</h3><pre class="programlisting">void xmlSchematronSetValidStructuredErrors (<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br/> <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br/> void * ctx)<br/> @@ -158,7 +158,7 @@ The content of this structure is not made public by the API. <hr/> <div class="refsect2" lang="en"><h3><a name="xmlSchematronValidateDoc"/>xmlSchematronValidateDoc ()</h3><pre class="programlisting">int xmlSchematronValidateDoc (<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br/> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> instance)<br/> </pre><p>Validate a tree instance against the schematron</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr><tr><td><span class="term"><i><tt>instance</tt></i>:</span></td><td>the document instace tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of internal error and an error count otherwise.</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr><tr><td><span class="term"><i><tt>instance</tt></i>:</span></td><td>the document instance tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of internal error and an error count otherwise.</td></tr></tbody></table></div></div> <hr/> </div> </div> diff --git a/doc/devhelp/libxml2-tree.html b/doc/devhelp/libxml2-tree.html index 44e1e03a..546844dc 100644 --- a/doc/devhelp/libxml2-tree.html +++ b/doc/devhelp/libxml2-tree.html @@ -452,7 +452,7 @@ The content of this structure is not made public by the API. void * ids : Hash table for ID attributes if any void * refs : Hash table for IDREFs attributes if any const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL : The URI for that document - int charset : encoding of the in-memory content actually an <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> + int charset : Internal flag for charset handling, actually an <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> struct _xmlDict * dict : dict used to allocate names or NULL void * psvi : for type/PSVI informations int parseFlags : set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used to parse the document @@ -797,8 +797,8 @@ The content of this structure is not made public by the API. void * * pushTab : array of data for push <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> attsDefault : defaulted attributes if any <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> attsSpecial : non-CDATA attributes if any - int nsWellFormed : is the document XML Nanespace okay - int options : * Those fields are needed only for treaming parsing so far * + int nsWellFormed : is the document XML Namespace okay + int options : * Those fields are needed only for streaming parsing so far * int dictNames : Use dictionary names for the tree int freeElemsNr : number of freed element nodes <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> freeElems : List of freed element nodes @@ -1401,7 +1401,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlNodeDump"/>xmlNodeDump ()</h3><pre class="programlisting">int xmlNodeDump (<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/> int level, <br/> int format)<br/> -</pre><p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called Since this is using <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> structures it is limited to 2GB and somehow deprecated, use xmlBufNodeDump() instead.</p> +</pre><p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called. Since this is using <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> structures it is limited to 2GB and somehow deprecated, use xmlNodeDumpOutput() instead.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>level</tt></i>:</span></td><td>the imbrication level for indenting</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>is formatting allowed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written to the buffer or -1 in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlNodeDumpOutput"/>xmlNodeDumpOutput ()</h3><pre class="programlisting">void xmlNodeDumpOutput (<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/> int level, <br/> int format, <br/> const char * encoding)<br/> @@ -1486,7 +1486,7 @@ The content of this structure is not made public by the API. <hr/> <div class="refsect2" lang="en"><h3><a name="xmlSaveFileTo"/>xmlSaveFileTo ()</h3><pre class="programlisting">int xmlSaveFileTo (<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/> const char * encoding)<br/> </pre><p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the trancoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the transcoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlSaveFormatFile"/>xmlSaveFormatFile ()</h3><pre class="programlisting">int xmlSaveFormatFile (const char * filename, <br/> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/> int format)<br/> </pre><p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used. If @format is set then the document will be indented on output. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p> @@ -1498,7 +1498,7 @@ The content of this structure is not made public by the API. <hr/> <div class="refsect2" lang="en"><h3><a name="xmlSaveFormatFileTo"/>xmlSaveFormatFileTo ()</h3><pre class="programlisting">int xmlSaveFormatFileTo (<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/> const char * encoding, <br/> int format)<br/> </pre><p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the trancoding</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the transcoding</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlSearchNs"/>xmlSearchNs ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> xmlSearchNs (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br/> </pre><p>Search a Ns registered under a given name space for a document. recurse on the parents until it finds the defined namespace or return NULL otherwise. @nameSpace can be NULL, this is a search for the default namespace. We don't allow to cross entities boundaries. If you don't declare the namespace within those you will be in troubles !!! A warning is generated to cover this case.</p> diff --git a/doc/devhelp/libxml2-uri.html b/doc/devhelp/libxml2-uri.html index 8b33c4ec..d049ba90 100644 --- a/doc/devhelp/libxml2-uri.html +++ b/doc/devhelp/libxml2-uri.html @@ -89,7 +89,7 @@ int <a href="#xmlParseURIReference">xmlParseURIReference</a> (<a href="libxml2- </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlBuildRelativeURI"/>xmlBuildRelativeURI ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlBuildRelativeURI (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br/> -</pre><p>Expresses the URI of the <a href="libxml2-SAX.html#reference">reference</a> in terms relative to the base. Some examples of this operation include: base = "http://site1.com/docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif pic1.gif http://site2.com/docs/pic1.gif http://site2.com/docs/pic1.gif base = "docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif Note: if the URI <a href="libxml2-SAX.html#reference">reference</a> is really wierd or complicated, it may be worthwhile to first convert it into a "nice" one by calling <a href="libxml2-uri.html#xmlBuildURI">xmlBuildURI</a> (using 'base') before calling this routine, since this routine (for reasonable efficiency) assumes URI has already been through some validation.</p> +</pre><p>Expresses the URI of the <a href="libxml2-SAX.html#reference">reference</a> in terms relative to the base. Some examples of this operation include: base = "http://site1.com/docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif pic1.gif http://site2.com/docs/pic1.gif http://site2.com/docs/pic1.gif base = "docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif Note: if the URI <a href="libxml2-SAX.html#reference">reference</a> is really weird or complicated, it may be worthwhile to first convert it into a "nice" one by calling <a href="libxml2-uri.html#xmlBuildURI">xmlBuildURI</a> (using 'base') before calling this routine, since this routine (for reasonable efficiency) assumes URI has already been through some validation.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI <a href="libxml2-SAX.html#reference">reference</a> under consideration</td></tr><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>the base value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new URI string (to be freed by the caller) or NULL in case error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlBuildURI"/>xmlBuildURI ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlBuildURI (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br/> diff --git a/doc/devhelp/libxml2-xmlIO.html b/doc/devhelp/libxml2-xmlIO.html index 5bccc277..91d0ea6c 100644 --- a/doc/devhelp/libxml2-xmlIO.html +++ b/doc/devhelp/libxml2-xmlIO.html @@ -114,7 +114,7 @@ void * <a href="#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a> (const char * post_uri, <b <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>an Input context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlInputMatchCallback"/>Function type xmlInputMatchCallback</h3><pre class="programlisting">int xmlInputMatchCallback (char const * filename)<br/> -</pre><p>Callback used in the I/O Input API to detect if the current handler can provide input fonctionnalities for this resource.</p> +</pre><p>Callback used in the I/O Input API to detect if the current handler can provide input functionality for this resource.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if yes and 0 if another Input module should be used</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlInputOpenCallback"/>Function type xmlInputOpenCallback</h3><pre class="programlisting">void * xmlInputOpenCallback (char const * filename)<br/> @@ -130,7 +130,7 @@ void * <a href="#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a> (const char * post_uri, <b <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>an Output context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlOutputMatchCallback"/>Function type xmlOutputMatchCallback</h3><pre class="programlisting">int xmlOutputMatchCallback (char const * filename)<br/> -</pre><p>Callback used in the I/O Output API to detect if the current handler can provide output fonctionnalities for this resource.</p> +</pre><p>Callback used in the I/O Output API to detect if the current handler can provide output functionality for this resource.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if yes and 0 if another Output module should be used</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlOutputOpenCallback"/>Function type xmlOutputOpenCallback</h3><pre class="programlisting">void * xmlOutputOpenCallback (char const * filename)<br/> @@ -270,7 +270,7 @@ void * <a href="#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a> (const char * post_uri, <b <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the size in bytes of the array.</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case of error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferWriteEscape"/>xmlOutputBufferWriteEscape ()</h3><pre class="programlisting">int xmlOutputBufferWriteEscape (<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/> <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escaping)<br/> -</pre><p>Write the content of the string in the output I/O buffer This routine escapes the caracters and then handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p> +</pre><p>Write the content of the string in the output I/O buffer This routine escapes the <a href="libxml2-SAX.html#characters">characters</a> and then handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>a zero terminated UTF-8 string</td></tr><tr><td><span class="term"><i><tt>escaping</tt></i>:</span></td><td>an optional escaping function (or NULL)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case of error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferWriteString"/>xmlOutputBufferWriteString ()</h3><pre class="programlisting">int xmlOutputBufferWriteString (<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br/> const char * str)<br/> diff --git a/doc/devhelp/libxml2-xmlautomata.html b/doc/devhelp/libxml2-xmlautomata.html index d4684426..601028bc 100644 --- a/doc/devhelp/libxml2-xmlautomata.html +++ b/doc/devhelp/libxml2-xmlautomata.html @@ -112,11 +112,11 @@ The content of this structure is not made public by the API. <hr/> <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewCountTrans"/>xmlAutomataNewCountTrans ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewCountTrans (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/> <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/> <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/> int min, <br/> int max, <br/> void * data)<br/> </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewCountTrans2"/>xmlAutomataNewCountTrans2 ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewCountTrans2 (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/> <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/> <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br/> int min, <br/> int max, <br/> void * data)<br/> </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewCountedTrans"/>xmlAutomataNewCountedTrans ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewCountedTrans (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/> <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/> <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/> int counter)<br/> </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will increment the counter provided</p> @@ -140,11 +140,11 @@ The content of this structure is not made public by the API. <hr/> <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewOnceTrans"/>xmlAutomataNewOnceTrans ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewOnceTrans (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/> <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/> <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/> int min, <br/> int max, <br/> void * data)<br/> </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max, moreover that transition can only be crossed once.</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewOnceTrans2"/>xmlAutomataNewOnceTrans2 ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewOnceTrans2 (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/> <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/> <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br/> int min, <br/> int max, <br/> void * data)<br/> </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max, moreover that transition can only be crossed once.</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewState"/>xmlAutomataNewState ()</h3><pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewState (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br/> </pre><p>Create a new disconnected state in the automata</p> diff --git a/doc/devhelp/libxml2-xmlerror.html b/doc/devhelp/libxml2-xmlerror.html index 6a936496..a663b0db 100644 --- a/doc/devhelp/libxml2-xmlerror.html +++ b/doc/devhelp/libxml2-xmlerror.html @@ -881,7 +881,7 @@ void <a href="#xmlResetError">xmlResetError</a> (<a href="libxml2-xmlerror.htm <hr/> <div class="refsect2" lang="en"><h3><a name="xmlGenericErrorFunc"/>Function type xmlGenericErrorFunc</h3><pre class="programlisting">void xmlGenericErrorFunc (void * ctx, <br/> const char * msg, <br/> ... ...)<br/> </pre><p>Signature of the function to use when there is an error and no parsing or validity context available .</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>a parsing context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>the extra arguments of the varags to format the message</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>a parsing context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>the extra arguments of the varargs to format the message</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlStructuredErrorFunc"/>Function type xmlStructuredErrorFunc</h3><pre class="programlisting">void xmlStructuredErrorFunc (void * userData, <br/> <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error)<br/> </pre><p>Signature of the function to use when there is an error and the module handles the new error reporting mechanism.</p> diff --git a/doc/devhelp/libxml2-xmlexports.html b/doc/devhelp/libxml2-xmlexports.html index f0ee4b4d..a596490b 100644 --- a/doc/devhelp/libxml2-xmlexports.html +++ b/doc/devhelp/libxml2-xmlexports.html @@ -43,12 +43,11 @@ <p>Author(s): Igor Zlatovic <igor@zlatkovic.com> </p> <div class="refsynopsisdiv"> <h2>Synopsis</h2> - <pre class="synopsis">#define <a href="#_REENTRANT">_REENTRANT</a>; -#define <a href="#XMLCDECL">XMLCDECL</a>; + <pre class="synopsis">#define <a href="#XMLCALL">XMLCALL</a>; #define <a href="#XMLPUBVAR">XMLPUBVAR</a>; -#define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a>; -#define <a href="#XMLCALL">XMLCALL</a>; +#define <a href="#XMLCDECL">XMLCDECL</a>; #define <a href="#XMLPUBFUN">XMLPUBFUN</a>; +#define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a>; </pre> </div> <div class="refsect1" lang="en"> @@ -77,10 +76,6 @@ </pre><p/> </div> <hr/> - <div class="refsect2" lang="en"><h3><a name="_REENTRANT">Macro </a>_REENTRANT</h3><pre class="programlisting">#define <a href="#_REENTRANT">_REENTRANT</a>; -</pre><p/> -</div> - <hr/> </div> </div> </body> diff --git a/doc/devhelp/libxml2-xmlmodule.html b/doc/devhelp/libxml2-xmlmodule.html index 08bb4efd..28c5bec7 100644 --- a/doc/devhelp/libxml2-xmlmodule.html +++ b/doc/devhelp/libxml2-xmlmodule.html @@ -84,11 +84,11 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>module</tt></i>:</span></td><td>the module handle</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of argument error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlModuleOpen"/>xmlModuleOpen ()</h3><pre class="programlisting"><a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> xmlModuleOpen (const char * name, <br/> int options)<br/> -</pre><p>Opens a module/shared library given its name or path NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We canot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * . TODO: options are not yet implemented.</p> +</pre><p>Opens a module/shared library given its name or path NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * . TODO: options are not yet implemented.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the module name</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a set of <a href="libxml2-xmlmodule.html#xmlModuleOption">xmlModuleOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a handle for the module or NULL in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlModuleSymbol"/>xmlModuleSymbol ()</h3><pre class="programlisting">int xmlModuleSymbol (<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br/> const char * name, <br/> void ** symbol)<br/> -</pre><p>Lookup for a symbol address in the given module NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We canot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * .</p> +</pre><p>Lookup for a symbol address in the given module NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * .</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>module</tt></i>:</span></td><td>the module</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the symbol</td></tr><tr><td><span class="term"><i><tt>symbol</tt></i>:</span></td><td>the resulting symbol address</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the symbol was found, or -1 in case of error</td></tr></tbody></table></div></div> <hr/> </div> diff --git a/doc/devhelp/libxml2-xmlreader.html b/doc/devhelp/libxml2-xmlreader.html index 2051f701..e72c29d9 100644 --- a/doc/devhelp/libxml2-xmlreader.html +++ b/doc/devhelp/libxml2-xmlreader.html @@ -332,11 +332,11 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the XML version of the document or NULL in case of error. The string is deallocated with the reader.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlTextReaderCurrentDoc"/>xmlTextReaderCurrentDoc ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlTextReaderCurrentDoc (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/> -</pre><p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> correponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.</p> +</pre><p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> corresponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> or NULL in case of error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlTextReaderCurrentNode"/>xmlTextReaderCurrentNode ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> xmlTextReaderCurrentNode (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/> -</pre><p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> correponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.</p> +</pre><p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> corresponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL in case of error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlTextReaderDepth"/>xmlTextReaderDepth ()</h3><pre class="programlisting">int xmlTextReaderDepth (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/> @@ -376,7 +376,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>prop</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to get</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value, usually 0 or 1, or -1 in case of error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlTextReaderGetRemainder"/>xmlTextReaderGetRemainder ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlTextReaderGetRemainder (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/> -</pre><p>Method to get the remainder of the buffered XML. this method stops the parser, set its state to End Of File and return the input stream with what is left that the parser did not use. The implementation is not good, the parser certainly procgressed past what's left in reader->input, and there is an allocation problem. Best would be to rewrite it differently.</p> +</pre><p>Method to get the remainder of the buffered XML. this method stops the parser, set its state to End Of File and return the input stream with what is left that the parser did not use. The implementation is not good, the parser certainly progressed past what's left in reader->input, and there is an allocation problem. Best would be to rewrite it differently.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> attached to the XML or NULL in case of error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlTextReaderHasAttributes"/>xmlTextReaderHasAttributes ()</h3><pre class="programlisting">int xmlTextReaderHasAttributes (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/> @@ -461,7 +461,7 @@ The content of this structure is not made public by the API. <hr/> <div class="refsect2" lang="en"><h3><a name="xmlTextReaderNodeType"/>xmlTextReaderNodeType ()</h3><pre class="programlisting">int xmlTextReaderNodeType (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/> </pre><p>Get the node type of the current node Reference: http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/XmlNodeType.html</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the xmlNodeType of the current node 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>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlReaderTypes">xmlReaderTypes</a> of the current node or -1 in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlTextReaderNormalization"/>xmlTextReaderNormalization ()</h3><pre class="programlisting">int xmlTextReaderNormalization (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/> </pre><p>The value indicating whether to normalize white space and <a href="libxml2-SAX.html#attribute">attribute</a> values. Since <a href="libxml2-SAX.html#attribute">attribute</a> value and end of line normalizations are a MUST in the XML specification only the value true is accepted. The broken bahaviour of accepting out of range character entities like &#0; is of course not supported either.</p> @@ -489,7 +489,7 @@ The content of this structure is not made public by the API. <hr/> <div class="refsect2" lang="en"><h3><a name="xmlTextReaderReadAttributeValue"/>xmlTextReaderReadAttributeValue ()</h3><pre class="programlisting">int xmlTextReaderReadAttributeValue (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/> </pre><p>Parses an <a href="libxml2-SAX.html#attribute">attribute</a> value into one or more Text and EntityReference nodes.</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, 0 if the reader was not positionned on an ttribute node or all the <a href="libxml2-SAX.html#attribute">attribute</a> values have been read, or -1 in case of error.</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, 0 if the reader was not positioned on an <a href="libxml2-SAX.html#attribute">attribute</a> node or all the <a href="libxml2-SAX.html#attribute">attribute</a> values have been read, or -1 in case of error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlTextReaderReadInnerXml"/>xmlTextReaderReadInnerXml ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlTextReaderReadInnerXml (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/> </pre><p>Reads the contents of the current node, including child nodes and markup.</p> @@ -508,8 +508,8 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the contents of the Element or Text node, or NULL if the reader is positioned on any other type of node. The string must be deallocated by the caller.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlTextReaderRelaxNGSetSchema"/>xmlTextReaderRelaxNGSetSchema ()</h3><pre class="programlisting">int xmlTextReaderRelaxNGSetSchema (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/> <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br/> -</pre><p>Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then RelaxNG validation is desactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled RelaxNG schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the RelaxNG validation could be (des)activated and -1 in case of error.</td></tr></tbody></table></div></div> +</pre><p>Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then RelaxNG validation is deactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.</p> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled RelaxNG schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the RelaxNG validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlTextReaderRelaxNGValidate"/>xmlTextReaderRelaxNGValidate ()</h3><pre class="programlisting">int xmlTextReaderRelaxNGValidate (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/> const char * rng)<br/> </pre><p>Use RelaxNG schema to validate the document as it is processed. Activation is only possible before the first Read(). If @rng is NULL, then RelaxNG schema validation is deactivated.</p> @@ -536,8 +536,8 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>prop</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to set</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>usually 0 or 1 to (de)activate it</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the call was successful, or -1 in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlTextReaderSetSchema"/>xmlTextReaderSetSchema ()</h3><pre class="programlisting">int xmlTextReaderSetSchema (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/> <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br/> -</pre><p>Use XSD Schema to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then Schema validation is desactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled Schema schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the Schema validation could be (des)activated and -1 in case of error.</td></tr></tbody></table></div></div> +</pre><p>Use XSD Schema to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then Schema validation is deactivated. The @schema should not be freed until the reader is deallocated or its use has been deactivated.</p> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled Schema schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the Schema validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlTextReaderSetStructuredErrorHandler"/>xmlTextReaderSetStructuredErrorHandler ()</h3><pre class="programlisting">void xmlTextReaderSetStructuredErrorHandler (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/> <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br/> void * arg)<br/> </pre><p>Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.</p> diff --git a/doc/devhelp/libxml2-xmlregexp.html b/doc/devhelp/libxml2-xmlregexp.html index 8d5c80ec..4fc33c6e 100644 --- a/doc/devhelp/libxml2-xmlregexp.html +++ b/doc/devhelp/libxml2-xmlregexp.html @@ -167,7 +167,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>a buffer to receive the output</td></tr><tr><td><span class="term"><i><tt>expr</tt></i>:</span></td><td>the compiled expression</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlExpExpDerive"/>xmlExpExpDerive ()</h3><pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> xmlExpExpDerive (<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/> <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br/> <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br/> -</pre><p>Evaluates the expression resulting from @exp consuming a sub expression @sub Based on algebraic derivation and sometimes direct Brzozowski derivation it usually tatkes less than linear time and can handle expressions generating infinite languages.</p> +</pre><p>Evaluates the expression resulting from @exp consuming a sub expression @sub Based on algebraic derivation and sometimes direct Brzozowski derivation it usually takes less than linear time and can handle expressions generating infinite languages.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expressions context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the englobing expression</td></tr><tr><td><span class="term"><i><tt>sub</tt></i>:</span></td><td>the subexpression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting expression or NULL in case of internal error, the result must be freed</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlExpFree"/>xmlExpFree ()</h3><pre class="programlisting">void xmlExpFree (<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/> <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br/> @@ -187,7 +187,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr><tr><td><span class="term"><i><tt>tokList</tt></i>:</span></td><td>where to store the tokens</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the allocated length of @list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlExpIsNillable"/>xmlExpIsNillable ()</h3><pre class="programlisting">int xmlExpIsNillable (<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br/> -</pre><p>Finds if the expression is nillable, i.e. if it accepts the empty sequqnce</p> +</pre><p>Finds if the expression is nillable, i.e. if it accepts the empty sequence</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if nillable, 0 if not and -1 in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlExpMaxToken"/>xmlExpMaxToken ()</h3><pre class="programlisting">int xmlExpMaxToken (<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br/> @@ -227,7 +227,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the string len in bytes if available</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting expression or NULL in case of internal error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlExpSubsume"/>xmlExpSubsume ()</h3><pre class="programlisting">int xmlExpSubsume (<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br/> <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br/> <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br/> -</pre><p>Check whether @exp accepts all the languages accexpted by @sub the input being a subexpression.</p> +</pre><p>Check whether @exp accepts all the languages accepted by @sub the input being a subexpression.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expressions context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the englobing expression</td></tr><tr><td><span class="term"><i><tt>sub</tt></i>:</span></td><td>the subexpression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 if false and -1 in case of failure.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlRegExecErrInfo"/>xmlRegExecErrInfo ()</h3><pre class="programlisting">int xmlRegExecErrInfo (<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** string, <br/> int * nbval, <br/> int * nbneg, <br/> <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br/> int * terminal)<br/> @@ -247,8 +247,8 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context or NULL to indicate the end</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the first string token input</td></tr><tr><td><span class="term"><i><tt>value2</tt></i>:</span></td><td>the second string token input</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the token to reuse in callbacks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlRegFreeExecCtxt"/>xmlRegFreeExecCtxt ()</h3><pre class="programlisting">void xmlRegFreeExecCtxt (<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec)<br/> -</pre><p>Free the structures associated to a regular expression evaulation context.</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regular expression evaulation context</td></tr></tbody></table></div></div> +</pre><p>Free the structures associated to a regular expression evaluation context.</p> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regular expression evaluation context</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlRegFreeRegexp"/>xmlRegFreeRegexp ()</h3><pre class="programlisting">void xmlRegFreeRegexp (<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br/> </pre><p>Free a regexp</p> diff --git a/doc/devhelp/libxml2-xmlschemas.html b/doc/devhelp/libxml2-xmlschemas.html index 533c1144..140558bc 100644 --- a/doc/devhelp/libxml2-xmlschemas.html +++ b/doc/devhelp/libxml2-xmlschemas.html @@ -110,7 +110,7 @@ void <a href="#xmlSchemaSetParserStructuredErrors">xmlSchemaSetParserStructuredE <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict void * includes : the includes, this is opaque for now int preserve : whether to free the document - int counter : used to give ononymous components unique names + int counter : used to give anonymous components unique names <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> idcDef : All identity-constraint defs. void * volatiles : Obsolete } xmlSchema; @@ -245,7 +245,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML Schemas</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlSchemaParse"/>xmlSchemaParse ()</h3><pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> xmlSchemaParse (<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br/> -</pre><p>parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.</p> +</pre><p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal XML Schema structure built from the resource or NULL in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlSchemaSAXPlug"/>xmlSchemaSAXPlug ()</h3><pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> xmlSchemaSAXPlug (<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/> <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br/> void ** user_data)<br/> diff --git a/doc/devhelp/libxml2-xmlversion.html b/doc/devhelp/libxml2-xmlversion.html index 81786140..7b1d0e3f 100644 --- a/doc/devhelp/libxml2-xmlversion.html +++ b/doc/devhelp/libxml2-xmlversion.html @@ -143,7 +143,7 @@ void <a href="#xmlCheckVersion">xmlCheckVersion</a> (int version); </div> <hr/> <div class="refsect2" lang="en"><h3><a name="LIBXML_EXPR_ENABLED">Macro </a>LIBXML_EXPR_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a>; -</pre><p>Whether the formal expressions interfaces are compiled in</p> +</pre><p>Whether the formal expressions interfaces are compiled in This code is unused and disabled unconditionally for now.</p> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="LIBXML_FTP_ENABLED">Macro </a>LIBXML_FTP_ENABLED</h3><pre class="programlisting">#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a>; diff --git a/doc/devhelp/libxml2-xmlwriter.html b/doc/devhelp/libxml2-xmlwriter.html index 7c2be925..61559e6d 100644 --- a/doc/devhelp/libxml2-xmlwriter.html +++ b/doc/devhelp/libxml2-xmlwriter.html @@ -190,7 +190,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndComment"/>xmlTextWriterEndComment ()</h3><pre class="programlisting">int xmlTextWriterEndComment (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/> -</pre><p>End the current xml coment.</p> +</pre><p>End the current xml comment.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndDTD"/>xmlTextWriterEndDTD ()</h3><pre class="programlisting">int xmlTextWriterEndDTD (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/> diff --git a/doc/devhelp/libxml2-xpath.html b/doc/devhelp/libxml2-xpath.html index edf76439..9be0e5a0 100644 --- a/doc/devhelp/libxml2-xpath.html +++ b/doc/devhelp/libxml2-xpath.html @@ -145,7 +145,7 @@ int <a href="#xmlXPathCastToBoolean">xmlXPathCastToBoolean</a> (<a href="libxml <div class="refsect2" lang="en"><h3><a name="xmlNodeSet">Structure </a>xmlNodeSet</h3><pre class="programlisting">struct _xmlNodeSet { int nodeNr : number of nodes in the set int nodeMax : size of the array as allocated - <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * nodeTab : array of nodes in no particular order @@ with_ns to check wether name + <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * nodeTab : array of nodes in no particular order @@ with_ns to check whether nam } xmlNodeSet; </pre><p/> </div> @@ -214,7 +214,12 @@ The content of this structure is not made public by the API. <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> debugNode : the source node XSLT dictionary <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict : dictionary if any int flags : flags to control compilation Cache for reusal of XPath objects - void * cache + void * cache : Resource limits + unsigned long opLimit + unsigned long opCount + int depth + int maxDepth + int maxParserDepth } xmlXPathContext; </pre><p/> </div> @@ -249,6 +254,8 @@ The content of this structure is not made public by the API. <a name="XPATH_INVALID_CTXT">XPATH_INVALID_CTXT</a> = 22 <a name="XPATH_STACK_ERROR">XPATH_STACK_ERROR</a> = 23 <a name="XPATH_FORBID_VARIABLE_ERROR">XPATH_FORBID_VARIABLE_ERROR</a> = 24 + <a name="XPATH_OP_LIMIT_EXCEEDED">XPATH_OP_LIMIT_EXCEEDED</a> = 25 + <a name="XPATH_RECURSION_LIMIT_EXCEEDED">XPATH_RECURSION_LIMIT_EXCEEDED</a> = 26 }; </pre><p/> </div> @@ -450,7 +457,7 @@ The content of this structure is not made public by the API. <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathContextSetCache"/>xmlXPathContextSetCache ()</h3><pre class="programlisting">int xmlXPathContextSetCache (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/> int active, <br/> int value, <br/> int options)<br/> </pre><p>Creates/frees an object cache on the XPath context. If activates XPath objects (xmlXPathObject) will be cached internally to be reused. @options: 0: This will set the XPath object caching: @value: This will set the maximum number of XPath objects to be cached per slot There are 5 slots for: node-set, string, number, boolean, and misc objects. Use <0 for the default number (100). Other values for @options have currently no effect.</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>active</tt></i>:</span></td><td>enables/disables (creates/frees) the cache</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a value with semantics dependant on @options</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>options (currently only the value 0 is used)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the setting succeeded, and -1 on API or internal errors.</td></tr></tbody></table></div></div> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>active</tt></i>:</span></td><td>enables/disables (creates/frees) the cache</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a value with semantics dependent on @options</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>options (currently only the value 0 is used)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the setting succeeded, and -1 on API or internal errors.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathConvertBoolean"/>xmlXPathConvertBoolean ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathConvertBoolean (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/> </pre><p>Converts an existing object to its boolean() equivalent</p> @@ -501,7 +508,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>the object to free</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathInit"/>xmlXPathInit ()</h3><pre class="programlisting">void xmlXPathInit (void)<br/> -</pre><p>Initialize the XPath environment Does nothing but must be kept as public function.</p> +</pre><p>Initialize the XPath environment</p> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathIsInf"/>xmlXPathIsInf ()</h3><pre class="programlisting">int xmlXPathIsInf (double val)<br/> diff --git a/doc/devhelp/libxml2-xpathInternals.html b/doc/devhelp/libxml2-xpathInternals.html index 17d27cd6..45220b11 100644 --- a/doc/devhelp/libxml2-xpathInternals.html +++ b/doc/devhelp/libxml2-xpathInternals.html @@ -318,8 +318,8 @@ void <a href="#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a> (FILE * out <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath object just removed</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="valuePush"/>valuePush ()</h3><pre class="programlisting">int valuePush (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br/> -</pre><p>Pushes a new XPath object on top of the value stack</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of items on the value stack</td></tr></tbody></table></div></div> +</pre><p>Pushes a new XPath object on top of the value stack. If value is NULL, a memory error is recorded in the parser context.</p> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of items on the value stack, or -1 in case of error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathAddValues"/>xmlXPathAddValues ()</h3><pre class="programlisting">void xmlXPathAddValues (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/> </pre><p>Implement the add operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p> diff --git a/doc/devhelp/libxml2.devhelp b/doc/devhelp/libxml2.devhelp index 575b222a..51b6f262 100644 --- a/doc/devhelp/libxml2.devhelp +++ b/doc/devhelp/libxml2.devhelp @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<book xmlns="http://www.devhelp.net/book" title="libxml2 Reference Manual" link="index.html" author="" name="libxml2"> +<book xmlns="http://www.devhelp.net/book" title="libxml2 Reference Manual" link="index.html" version="2" author="" name="libxml2"> <chapters> <sub name="API" link="general.html"> <sub name="DOCBparser" link="libxml2-DOCBparser.html"/> @@ -266,7 +266,6 @@ <function name="XML_XPATH_NOVAR" link="libxml2-xpath.html#XML_XPATH_NOVAR"/> <function name="XP_ERROR" link="libxml2-xpathInternals.html#XP_ERROR"/> <function name="XP_ERROR0" link="libxml2-xpathInternals.html#XP_ERROR0"/> - <function name="_REENTRANT" link="libxml2-xmlexports.html#_REENTRANT"/> <function name="htmlDefaultSubelement" link="libxml2-HTMLparser.html#htmlDefaultSubelement"/> <function name="htmlElementAllowedHereDesc" link="libxml2-HTMLparser.html#htmlElementAllowedHereDesc"/> <function name="htmlRequiredAttrs" link="libxml2-HTMLparser.html#htmlRequiredAttrs"/> @@ -1534,8 +1533,10 @@ <function name="XPATH_NODESET" link="libxml2-xpath.html#XPATH_NODESET"/> <function name="XPATH_NUMBER" link="libxml2-xpath.html#XPATH_NUMBER"/> <function name="XPATH_NUMBER_ERROR" link="libxml2-xpath.html#XPATH_NUMBER_ERROR"/> + <function name="XPATH_OP_LIMIT_EXCEEDED" link="libxml2-xpath.html#XPATH_OP_LIMIT_EXCEEDED"/> <function name="XPATH_POINT" link="libxml2-xpath.html#XPATH_POINT"/> <function name="XPATH_RANGE" link="libxml2-xpath.html#XPATH_RANGE"/> + <function name="XPATH_RECURSION_LIMIT_EXCEEDED" link="libxml2-xpath.html#XPATH_RECURSION_LIMIT_EXCEEDED"/> <function name="XPATH_STACK_ERROR" link="libxml2-xpath.html#XPATH_STACK_ERROR"/> <function name="XPATH_START_LITERAL_ERROR" link="libxml2-xpath.html#XPATH_START_LITERAL_ERROR"/> <function name="XPATH_STRING" link="libxml2-xpath.html#XPATH_STRING"/> diff --git a/doc/docs.html b/doc/docs.html index dd59a373..39814018 100644 --- a/doc/docs.html +++ b/doc/docs.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Developer Menu</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Developer Menu</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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>There are several on-line resources related to using libxml:</p><ol> +</style><title>Developer Menu</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Developer Menu</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>There are several on-line resources related to using libxml:</p><ol> <li>Use the <a href="search.php">search engine</a> to look up information.</li> <li>Check the <a href="FAQ.html">FAQ.</a></li> diff --git a/doc/downloads.html b/doc/downloads.html index 20f9e573..afa0f43f 100644 --- a/doc/downloads.html +++ b/doc/downloads.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Downloads</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Downloads</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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 latest versions of libxml2 can be found on the <a href="ftp://xmlsoft.org/libxml2/">xmlsoft.org</a> server ( <a href="ftp://xmlsoft.org/libxml2/">FTP</a> and rsync are available), there are also +</style><title>Downloads</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Downloads</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The latest versions of libxml2 can be found on the <a href="ftp://xmlsoft.org/libxml2/">xmlsoft.org</a> server ( <a href="ftp://xmlsoft.org/libxml2/">FTP</a> and rsync are available), there are also mirrors (<a href="ftp://fr.rpmfind.net/pub/libxml/">France</a> and Antonin Sprinzl also provide <a href="ftp://gd.tuwien.ac.at/pub/libxml/">a mirror in Austria</a>). (NOTE that you need both the <a href="http://rpmfind.net/linux/RPM/libxml2.html">libxml(2)</a> and <a href="http://rpmfind.net/linux/RPM/libxml2-devel.html">libxml(2)-devel</a> @@ -31,10 +31,10 @@ Windows binaries made by Igor Zlatovic are available in the <a href="http://xmls </ul><p><a name="Contribs" id="Contribs">Contributions:</a></p><p>I do accept external contributions, especially if compiling on another platform, get in touch with the list to upload the package, wrappers for various languages have been provided, and can be found in the <a href="python.html">bindings section</a></p><p>Libxml2 is also available from GIT:</p><ul> - <li><p>See <a href="http://git.gnome.org/browse/libxml2/">libxml2 Git web</a>. + <li><p>See <a href="https://gitlab.gnome.org/GNOME/libxml2">libxml2 Git web</a>. To checkout a local tree use:</p> - <pre>git clone git://git.gnome.org/libxml2</pre> + <pre>git clone https://gitlab.gnome.org/GNOME/libxml2.git</pre> </li> <li>The <strong>libxslt</strong> module is also present - <a href="http://git.gnome.org/browse/libxslt/">there</a>.</li> + <a href="https://gitlab.gnome.org/GNOME/libxslt">there</a>.</li> </ul><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html> diff --git a/doc/encoding.html b/doc/encoding.html index 7c7953f2..42f33969 100644 --- a/doc/encoding.html +++ b/doc/encoding.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Encodings support</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Encodings support</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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>If you are not really familiar with Internationalization (usual shortcut +</style><title>Encodings support</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Encodings support</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>If you are not really familiar with Internationalization (usual shortcut is I18N) , Unicode, characters and glyphs, I suggest you read a <a href="http://www.tbray.org/ongoing/When/200x/2003/04/06/Unicode">presentation</a> by Tim Bray on Unicode and why you should care about it.</p><p>If you don't understand why <b>it does not make sense to have a string without knowing what encoding it uses</b>, then as Joel Spolsky said <a href="http://www.joelonsoftware.com/articles/Unicode.html">please do not diff --git a/doc/entities.html b/doc/entities.html index f9bcc4e9..e4433f26 100644 --- a/doc/entities.html +++ b/doc/entities.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Entities or no entities</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Entities or no entities</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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>Entities in principle are similar to simple C macros. An entity defines an +</style><title>Entities or no entities</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Entities or no entities</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Entities in principle are similar to simple C macros. An entity defines an abbreviation for a given string that you can reuse many times throughout the content of your document. Entities are especially useful when a given string may occur frequently within a document, or to confine the change needed to a diff --git a/doc/example.html b/doc/example.html index 50668bf3..d4ad4328 100644 --- a/doc/example.html +++ b/doc/example.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>A real example</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>A real example</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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>Here is a real size example, where the actual content of the application +</style><title>A real example</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>A real example</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Here is a real size example, where the actual content of the application data is not kept in the DOM tree but uses internal structures. It is based on a proposal to keep a database of jobs related to Gnome, with an XML based storage structure. Here is an <a href="gjobs.xml">XML encoded jobs diff --git a/doc/examples/examples.xml b/doc/examples/examples.xml index d38247b4..4974187c 100644 --- a/doc/examples/examples.xml +++ b/doc/examples/examples.xml @@ -50,7 +50,7 @@ </example> <example filename='parse1.c'> <synopsis>Parse an XML file to a tree and free it</synopsis> - <purpose>Demonstrate the use of xmlReadFile() to read an XML file into a tree and and xmlFreeDoc() to free the resulting tree</purpose> + <purpose>Demonstrate the use of xmlReadFile() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</purpose> <usage>parse1 test1.xml</usage> <test>parse1 test1.xml</test> <author>Daniel Veillard</author> @@ -96,7 +96,7 @@ </example> <example filename='parse3.c'> <synopsis>Parse an XML document in memory to a tree and free it</synopsis> - <purpose>Demonstrate the use of xmlReadMemory() to read an XML file into a tree and and xmlFreeDoc() to free the resulting tree</purpose> + <purpose>Demonstrate the use of xmlReadMemory() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</purpose> <usage>parse3</usage> <test>parse3</test> <author>Daniel Veillard</author> @@ -117,7 +117,7 @@ </example> <example filename='parse4.c'> <synopsis>Parse an XML document chunk by chunk to a tree and free it</synopsis> - <purpose>Demonstrate the use of xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and and xmlFreeDoc() to free the resulting tree</purpose> + <purpose>Demonstrate the use of xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and xmlFreeDoc() to free the resulting tree</purpose> <usage>parse4 test3.xml</usage> <test>parse4 test3.xml</test> <author>Daniel Veillard</author> @@ -141,7 +141,7 @@ </example> <example filename='reader1.c'> <synopsis>Parse an XML file with an xmlReader</synopsis> - <purpose>Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the informations about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.)</purpose> + <purpose>Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the information about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.)</purpose> <usage>reader1 <filename></usage> <test>reader1 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res</test> <author>Daniel Veillard</author> diff --git a/doc/examples/examples.xsl b/doc/examples/examples.xsl index 74aaaa20..bc93a3d7 100644 --- a/doc/examples/examples.xsl +++ b/doc/examples/examples.xsl @@ -99,7 +99,7 @@ <xsl:apply-templates select='.'/> </xsl:for-each> </ul> - <p> Getting the compilation options and libraries dependancies needed + <p> Getting the compilation options and libraries dependencies needed to generate binaries from the examples is best done on Linux/Unix by using the xml2-config script which should have been installed as part of <i>make install</i> step or when installing the libxml2 development package:</p> diff --git a/doc/examples/index.html b/doc/examples/index.html index c9314a38..97077596 100644 --- a/doc/examples/index.html +++ b/doc/examples/index.html @@ -7,8 +7,8 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Libxml2 set of examples</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Libxml2 set of examples</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Examples Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="../index.html">Home</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../html/index.html">API Menu</a></li><li><a href="#InputOutput">InputOutput Examples</a></li><li><a href="#Parsing">Parsing Examples</a></li><li><a href="#Tree">Tree Examples</a></li><li><a href="#XPath">XPath Examples</a></li><li><a href="#xmlReader">xmlReader Examples</a></li><li><a href="#xmlWriter">xmlWriter Examples</a></li><li><a href="../guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p> The examples are stored per section depending on the main focus - of the example:</p><ul><li><p><a href="#xmlWriter">xmlWriter</a> :</p><ul><li><a href="#testWriter.c">testWriter.c</a>: use various APIs for the xmlWriter</li></ul></li><li><p><a href="#InputOutput">InputOutput</a> :</p><ul><li><a href="#io1.c">io1.c</a>: Example of custom Input/Output</li><li><a href="#io2.c">io2.c</a>: Output to char buffer</li></ul></li><li><p><a href="#Tree">Tree</a> :</p><ul><li><a href="#tree2.c">tree2.c</a>: Creates a tree</li><li><a href="#tree1.c">tree1.c</a>: Navigates a tree to print element names</li></ul></li><li><p><a href="#XPath">XPath</a> :</p><ul><li><a href="#xpath1.c">xpath1.c</a>: Evaluate XPath expression and prints result node set.</li><li><a href="#xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the resulting document.</li></ul></li><li><p><a href="#Parsing">Parsing</a> :</p><ul><li><a href="#parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free it</li><li><a href="#parse4.c">parse4.c</a>: Parse an XML document chunk by chunk to a tree and free it</li><li><a href="#parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the result</li><li><a href="#parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</li></ul></li><li><p><a href="#xmlReader">xmlReader</a> :</p><ul><li><a href="#reader2.c">reader2.c</a>: Parse and validate an XML file with an xmlReader</li><li><a href="#reader1.c">reader1.c</a>: Parse an XML file with an xmlReader</li><li><a href="#reader3.c">reader3.c</a>: Show how to extract subdocuments with xmlReader</li><li><a href="#reader4.c">reader4.c</a>: Parse multiple XML files reusing an xmlReader</li></ul></li></ul><p> Getting the compilation options and libraries dependancies needed +</style><title>Libxml2 set of examples</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Libxml2 set of examples</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Examples Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="../index.html">Home</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../html/index.html">API Menu</a></li><li><a href="#InputOutput">InputOutput Examples</a></li><li><a href="#Parsing">Parsing Examples</a></li><li><a href="#Tree">Tree Examples</a></li><li><a href="#XPath">XPath Examples</a></li><li><a href="#xmlReader">xmlReader Examples</a></li><li><a href="#xmlWriter">xmlWriter Examples</a></li><li><a href="../guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p> The examples are stored per section depending on the main focus + of the example:</p><ul><li><p><a href="#xmlWriter">xmlWriter</a> :</p><ul><li><a href="#testWriter.c">testWriter.c</a>: use various APIs for the xmlWriter</li></ul></li><li><p><a href="#InputOutput">InputOutput</a> :</p><ul><li><a href="#io1.c">io1.c</a>: Example of custom Input/Output</li><li><a href="#io2.c">io2.c</a>: Output to char buffer</li></ul></li><li><p><a href="#Tree">Tree</a> :</p><ul><li><a href="#tree1.c">tree1.c</a>: Navigates a tree to print element names</li><li><a href="#tree2.c">tree2.c</a>: Creates a tree</li></ul></li><li><p><a href="#XPath">XPath</a> :</p><ul><li><a href="#xpath1.c">xpath1.c</a>: Evaluate XPath expression and prints result node set.</li><li><a href="#xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the resulting document.</li></ul></li><li><p><a href="#Parsing">Parsing</a> :</p><ul><li><a href="#parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</li><li><a href="#parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the result</li><li><a href="#parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free it</li><li><a href="#parse4.c">parse4.c</a>: Parse an XML document chunk by chunk to a tree and free it</li></ul></li><li><p><a href="#xmlReader">xmlReader</a> :</p><ul><li><a href="#reader1.c">reader1.c</a>: Parse an XML file with an xmlReader</li><li><a href="#reader2.c">reader2.c</a>: Parse and validate an XML file with an xmlReader</li><li><a href="#reader3.c">reader3.c</a>: Show how to extract subdocuments with xmlReader</li><li><a href="#reader4.c">reader4.c</a>: Parse multiple XML files reusing an xmlReader</li></ul></li></ul><p> Getting the compilation options and libraries dependencies needed to generate binaries from the examples is best done on Linux/Unix by using the xml2-config script which should have been installed as part of <i>make -install</i> step or when installing the libxml2 development package:</p><pre>gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`</pre><h2><a name="InputOutput" id="InputOutput"></a>InputOutput Examples</h2><h3><a name="io1.c" href="io1.c" id="io1.c">io1.c</a>: Example of custom Input/Output</h3><p>Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is used in an XInclude method context to show how dynamic document can be built in a clean way.</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li><li><a href="../html/libxml-xmlIO.html"><libxml/xmlIO.h></a></li><li><a href="../html/libxml-xinclude.html"><libxml/xinclude.h></a></li><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li></ul><p>Uses:</p><ul><li> line 105: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 117: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 117: Function <a href="../html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> from xmlIO.h</li><li> line 124: Function <a href="../html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li><li> line 134: Function <a href="../html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a> from xinclude.h</li><li> line 143: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li><li> line 149: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 154: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 158: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>io1</p><p>Author: Daniel Veillard</p><h3><a name="io2.c" href="io2.c" id="io2.c">io2.c</a>: Output to char buffer</h3><p>Demonstrate the use of xmlDocDumpMemory to output document to a character buffer</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li></ul><p>Uses:</p><ul><li> line 19: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li><li> line 20: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 27: Function <a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 28: Function <a href="../html/libxml-tree.html#xmlNewNode">xmlNewNode</a> from tree.h</li><li> line 29: Function <a href="../html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li><li> line 30: Function <a href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 36: Function <a href="../html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a> from tree.h</li></ul><p>Usage:</p><p>io2</p><p>Author: John Fleck</p><h2><a name="Parsing" id="Parsing"></a>Parsing Examples</h2><h3><a name="parse3.c" href="parse3.c" id="parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free it</h3><p>Demonstrate the use of xmlReadMemory() to read an XML file into a tree and and xmlFreeDoc() to free the resulting tree</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li></ul><p>Uses:</p><ul><li> line 27: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 33: Function <a href="../html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li><li> line 38: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 49: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 54: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 58: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>parse3</p><p>Author: Daniel Veillard</p><h3><a name="parse4.c" href="parse4.c" id="parse4.c">parse4.c</a>: Parse an XML document chunk by chunk to a tree and free it</h3><p>Demonstrate the use of xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and and xmlFreeDoc() to free the resulting tree</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li></ul><p>Uses:</p><ul><li> line 45: Type <a href="../html/libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li><li> line 47: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 67: Function <a href="../html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a> from parser.h</li><li> line 86: Function <a href="../html/libxml-parser.html#xmlParseChunk">xmlParseChunk</a> from parser.h</li><li> line 94: Function <a href="../html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li><li> line 103: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 120: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 131: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 135: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>parse4 test3.xml</p><p>Author: Daniel Veillard</p><h3><a name="parse2.c" href="parse2.c" id="parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the result</h3><p>Create a parser context for an XML file, then parse and validate the file, creating a tree, check the validation result and xmlFreeDoc() to free the resulting tree.</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li></ul><p>Uses:</p><ul><li> line 25: Type <a href="../html/libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li><li> line 29: Function <a href="../html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a> from parser.h</li><li> line 35: Function <a href="../html/libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a> from parser.h</li><li> line 47: Function <a href="../html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li></ul><p>Usage:</p><p>parse2 test2.xml</p><p>Author: Daniel Veillard</p><h3><a name="parse1.c" href="parse1.c" id="parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</h3><p>Demonstrate the use of xmlReadFile() to read an XML file into a tree and and xmlFreeDoc() to free the resulting tree</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li></ul><p>Uses:</p><ul><li> line 26: Function <a href="../html/libxml-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li></ul><p>Usage:</p><p>parse1 test1.xml</p><p>Author: Daniel Veillard</p><h2><a name="Tree" id="Tree"></a>Tree Examples</h2><h3><a name="tree2.c" href="tree2.c" id="tree2.c">tree2.c</a>: Creates a tree</h3><p>Shows how to create document, nodes and dump it to stdout or file.</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li></ul><p>Uses:</p><ul><li> line 34: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 39: Function <a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 41: Function <a href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 46: Function <a href="../html/libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a> from tree.h</li><li> line 74: Function <a href="../html/libxml-tree.html#xmlNewNode">xmlNewNode</a> from tree.h</li><li> line 75: Function <a href="../html/libxml-tree.html#xmlNewText">xmlNewText</a> from tree.h</li><li> line 78: Function <a href="../html/libxml-tree.html#xmlAddChild">xmlAddChild</a> from tree.h</li><li> line 88: Function <a href="../html/libxml-tree.html#xmlNewChild">xmlNewChild</a> from tree.h</li><li> line 89: Function <a href="../html/libxml-tree.html#xmlNewProp">xmlNewProp</a> from tree.h</li><li> line 96: Function <a href="../html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a> from tree.h</li><li> line 99: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 105: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 110: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>tree2 <filename> -Default output: stdout</p><p>Author: Lucas Brasilino <brasilino@recife.pe.gov.br></p><h3><a name="tree1.c" href="tree1.c" id="tree1.c">tree1.c</a>: Navigates a tree to print element names</h3><p>Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order.</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li></ul><p>Uses:</p><ul><li> line 67: Function <a href="../html/libxml-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li><li> line 74: Function <a href="../html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a> from tree.h</li></ul><p>Usage:</p><p>tree1 filename_or_URL</p><p>Author: Dodji Seketeli</p><h2><a name="XPath" id="XPath"></a>XPath Examples</h2><h3><a name="xpath1.c" href="xpath1.c" id="xpath1.c">xpath1.c</a>: Evaluate XPath expression and prints result node set.</h3><p>Shows how to evaluate XPath expression and register known namespaces in XPath context.</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li><li><a href="../html/libxml-xpath.html"><libxml/xpath.h></a></li><li><a href="../html/libxml-xpathInternals.html"><libxml/xpathInternals.h></a></li><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li></ul><p>Uses:</p><ul><li> line 39: Function <a href="../html/libxml-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li><li> line 43: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 49: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 54: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li><li> line 86: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 87: Type <a href="../html/libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li><li> line 88: Type <a href="../html/libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li><li> line 94: Function <a href="../html/libxml-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li><li> line 101: Function <a href="../html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from xpath.h</li><li> line 117: Function <a href="../html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li><li> line 129: Function <a href="../html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from xpath.h</li><li> line 130: Function <a href="../html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li><li> line 131: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 156: Function <a href="../html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a> from xmlstring.h</li><li> line 180: Function <a href="../html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a> from xmlstring.h</li><li> line 186: Function <a href="../html/libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a> from xpathInternals.h</li><li> line 206: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li><li> line 218: Type <a href="../html/libxml-tree.html#xmlNsPtr">xmlNsPtr</a> from tree.h</li></ul><p>Usage:</p><p>xpath1 <xml-file> <xpath-expr> [<known-ns-list>]</p><p>Author: Aleksey Sanin</p><h3><a name="xpath2.c" href="xpath2.c" id="xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the resulting document.</h3><p>Shows how to make a full round-trip from a load/edit/save</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li><li><a href="../html/libxml-xpath.html"><libxml/xpath.h></a></li><li><a href="../html/libxml-xpathInternals.html"><libxml/xpathInternals.h></a></li><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li></ul><p>Uses:</p><ul><li> line 41: Function <a href="../html/libxml-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li><li> line 86: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 87: Type <a href="../html/libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li><li> line 88: Type <a href="../html/libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li><li> line 95: Function <a href="../html/libxml-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li><li> line 102: Function <a href="../html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from xpath.h</li><li> line 110: Function <a href="../html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li><li> line 123: Function <a href="../html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from xpath.h</li><li> line 124: Function <a href="../html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li><li> line 127: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li><li> line 131: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 162: Function <a href="../html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li></ul><p>Usage:</p><p>xpath2 <xml-file> <xpath-expr> <new-value></p><p>Author: Aleksey Sanin and Daniel Veillard</p><h2><a name="xmlReader" id="xmlReader"></a>xmlReader Examples</h2><h3><a name="reader2.c" href="reader2.c" id="reader2.c">reader2.c</a>: Parse and validate an XML file with an xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a href="../html/libxml-xmlreader.html"><libxml/xmlreader.h></a></li></ul><p>Uses:</p><ul><li> line 30: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li><li> line 34: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li><li> line 37: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li><li> line 38: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li><li> line 40: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li><li> line 41: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li><li> line 45: Function <a href="../html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li><li> line 60: Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 68: Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 76: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 81: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a> from xmlreader.h</li><li> line 84: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li><li> line 104: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 109: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 113: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>reader2 <valid_xml_filename></p><p>Author: Daniel Veillard</p><h3><a name="reader1.c" href="reader1.c" id="reader1.c">reader1.c</a>: Parse an XML file with an xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the informations about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a href="../html/libxml-xmlreader.html"><libxml/xmlreader.h></a></li></ul><p>Uses:</p><ul><li> line 29: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li><li> line 33: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li><li> line 36: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li><li> line 37: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li><li> line 39: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li><li> line 40: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li><li> line 44: Function <a href="../html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li><li> line 59: Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 62: Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 67: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 69: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li></ul><p>Usage:</p><p>reader1 <filename></p><p>Author: Daniel Veillard</p><h3><a name="reader3.c" href="reader3.c" id="reader3.c">reader3.c</a>: Show how to extract subdocuments with xmlReader</h3><p>Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a href="../html/libxml-xmlreader.html"><libxml/xmlreader.h></a></li></ul><p>Uses:</p><ul><li> line 32: Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 38: Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 43: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a> from xmlreader.h</li><li> line 52: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 62: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from xmlreader.h</li><li> line 66: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li><li> line 96: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li></ul><p>Usage:</p><p>reader3</p><p>Author: Daniel Veillard</p><h3><a name="reader4.c" href="reader4.c" id="reader4.c">reader4.c</a>: Parse multiple XML files reusing an xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() and xmlReaderNewFile to parse XML files while reusing the reader object and parser context. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a href="../html/libxml-xmlreader.html"><libxml/xmlreader.h></a></li></ul><p>Uses:</p><ul><li> line 26: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 54: Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 72: Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 83: Function <a href="../html/libxml-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a> from xmlreader.h</li><li> line 97: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from xmlreader.h</li><li> line 104: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li></ul><p>Usage:</p><p>reader4 <filename> [ filename ... ]</p><p>Author: Graham Bennett</p><h2><a name="xmlWriter" id="xmlWriter"></a>xmlWriter Examples</h2><h3><a name="testWriter.c" href="testWriter.c" id="testWriter.c">testWriter.c</a>: use various APIs for the xmlWriter</h3><p>tests a number of APIs for the xmlWriter, especially the various methods to write to a filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string conversions too. The resulting documents are then serialized.</p><p>Includes:</p><ul><li><a href="../html/libxml-encoding.html"><libxml/encoding.h></a></li><li><a href="../html/libxml-xmlwriter.html"><libxml/xmlwriter.h></a></li></ul><p>Uses:</p><ul><li> line 76: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a> from xmlwriter.h</li><li> line 341: Type <a href="../html/libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> from tree.h</li><li> line 347: Function <a href="../html/libxml-tree.html#xmlBufferCreate">xmlBufferCreate</a> from tree.h</li><li> line 355: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a> from xmlwriter.h</li><li> line 613: Function <a href="../html/libxml-tree.html#xmlBufferFree">xmlBufferFree</a> from tree.h</li><li> line 632: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a> from xmlwriter.h</li><li> line 878: Type <a href="../html/libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> from xmlwriter.h</li><li> line 880: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li><li> line 885: Macro <a href="../html/libxml-parser.html#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a> from parser.h</li><li> line 885: Function <a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 894: Function <a href="../html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a> from tree.h</li><li> line 901: Function <a href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 904: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a> from xmlwriter.h</li><li> line 913: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a> from xmlwriter.h</li><li> line 925: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a> from xmlwriter.h</li><li> line 949: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a> from xmlwriter.h</li><li> line 959: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a> from xmlwriter.h</li><li> line 1073: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a> from xmlwriter.h</li><li> line 1096: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a> from xmlwriter.h</li><li> line 1103: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a> from xmlwriter.h</li><li> line 1111: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a> from xmlwriter.h</li><li> line 1121: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a> from xmlwriter.h</li><li> line 1127: Function <a href="../html/libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a> from xmlwriter.h</li><li> line 1129: Function <a href="../html/libxml-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a> from tree.h</li><li> line 1151: Type <a href="../html/libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> from encoding.h</li><li> line 1156: Function <a href="../html/libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a> from encoding.h</li></ul><p>Usage:</p><p>testWriter</p><p>Author: Alfred Mickautsch</p><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html> +install</i> step or when installing the libxml2 development package:</p><pre>gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`</pre><h2><a name="InputOutput" id="InputOutput"></a>InputOutput Examples</h2><h3><a name="io1.c" href="io1.c" id="io1.c">io1.c</a>: Example of custom Input/Output</h3><p>Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is used in an XInclude method context to show how dynamic document can be built in a clean way.</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li><li><a href="../html/libxml-xmlIO.html"><libxml/xmlIO.h></a></li><li><a href="../html/libxml-xinclude.html"><libxml/xinclude.h></a></li><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li></ul><p>Uses:</p><ul><li> line 105: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 117: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 117: Function <a href="../html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> from xmlIO.h</li><li> line 124: Function <a href="../html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li><li> line 134: Function <a href="../html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a> from xinclude.h</li><li> line 143: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li><li> line 149: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 154: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 158: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>io1</p><p>Author: Daniel Veillard</p><h3><a name="io2.c" href="io2.c" id="io2.c">io2.c</a>: Output to char buffer</h3><p>Demonstrate the use of xmlDocDumpMemory to output document to a character buffer</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li></ul><p>Uses:</p><ul><li> line 19: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li><li> line 20: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 27: Function <a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 28: Function <a href="../html/libxml-tree.html#xmlNewNode">xmlNewNode</a> from tree.h</li><li> line 29: Function <a href="../html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li><li> line 30: Function <a href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 36: Function <a href="../html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a> from tree.h</li><li> line 43: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li></ul><p>Usage:</p><p>io2</p><p>Author: John Fleck</p><h2><a name="Parsing" id="Parsing"></a>Parsing Examples</h2><h3><a name="parse1.c" href="parse1.c" id="parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</h3><p>Demonstrate the use of xmlReadFile() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li></ul><p>Uses:</p><ul><li> line 24: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 26: Function <a href="../html/libxml-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li><li> line 31: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 45: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 50: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 54: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>parse1 test1.xml</p><p>Author: Daniel Veillard</p><h3><a name="parse2.c" href="parse2.c" id="parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the result</h3><p>Create a parser context for an XML file, then parse and validate the file, creating a tree, check the validation result and xmlFreeDoc() to free the resulting tree.</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li></ul><p>Uses:</p><ul><li> line 25: Type <a href="../html/libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li><li> line 26: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 29: Function <a href="../html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a> from parser.h</li><li> line 35: Function <a href="../html/libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a> from parser.h</li><li> line 44: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 47: Function <a href="../html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li><li> line 61: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 66: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 70: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>parse2 test2.xml</p><p>Author: Daniel Veillard</p><h3><a name="parse3.c" href="parse3.c" id="parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free it</h3><p>Demonstrate the use of xmlReadMemory() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li></ul><p>Uses:</p><ul><li> line 27: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 33: Function <a href="../html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li><li> line 38: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 49: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 54: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 58: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>parse3</p><p>Author: Daniel Veillard</p><h3><a name="parse4.c" href="parse4.c" id="parse4.c">parse4.c</a>: Parse an XML document chunk by chunk to a tree and free it</h3><p>Demonstrate the use of xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and xmlFreeDoc() to free the resulting tree</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li></ul><p>Uses:</p><ul><li> line 45: Type <a href="../html/libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li><li> line 47: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 67: Function <a href="../html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a> from parser.h</li><li> line 86: Function <a href="../html/libxml-parser.html#xmlParseChunk">xmlParseChunk</a> from parser.h</li><li> line 94: Function <a href="../html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li><li> line 103: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 120: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 131: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 135: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>parse4 test3.xml</p><p>Author: Daniel Veillard</p><h2><a name="Tree" id="Tree"></a>Tree Examples</h2><h3><a name="tree1.c" href="tree1.c" id="tree1.c">tree1.c</a>: Navigates a tree to print element names</h3><p>Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order.</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li></ul><p>Uses:</p><ul><li> line 67: Function <a href="../html/libxml-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li><li> line 74: Function <a href="../html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a> from tree.h</li></ul><p>Usage:</p><p>tree1 filename_or_URL</p><p>Author: Dodji Seketeli</p><h3><a name="tree2.c" href="tree2.c" id="tree2.c">tree2.c</a>: Creates a tree</h3><p>Shows how to create document, nodes and dump it to stdout or file.</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li></ul><p>Uses:</p><ul><li> line 38: Function <a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 40: Function <a href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 45: Function <a href="../html/libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a> from tree.h</li><li> line 73: Function <a href="../html/libxml-tree.html#xmlNewNode">xmlNewNode</a> from tree.h</li><li> line 74: Function <a href="../html/libxml-tree.html#xmlNewText">xmlNewText</a> from tree.h</li><li> line 77: Function <a href="../html/libxml-tree.html#xmlAddChild">xmlAddChild</a> from tree.h</li><li> line 87: Function <a href="../html/libxml-tree.html#xmlNewChild">xmlNewChild</a> from tree.h</li><li> line 88: Function <a href="../html/libxml-tree.html#xmlNewProp">xmlNewProp</a> from tree.h</li><li> line 95: Function <a href="../html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a> from tree.h</li></ul><p>Usage:</p><p>tree2 <filename> -Default output: stdout</p><p>Author: Lucas Brasilino <brasilino@recife.pe.gov.br></p><h2><a name="XPath" id="XPath"></a>XPath Examples</h2><h3><a name="xpath1.c" href="xpath1.c" id="xpath1.c">xpath1.c</a>: Evaluate XPath expression and prints result node set.</h3><p>Shows how to evaluate XPath expression and register known namespaces in XPath context.</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li><li><a href="../html/libxml-xpath.html"><libxml/xpath.h></a></li><li><a href="../html/libxml-xpathInternals.html"><libxml/xpathInternals.h></a></li><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li></ul><p>Uses:</p><ul><li> line 39: Function <a href="../html/libxml-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li><li> line 87: Type <a href="../html/libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li><li> line 88: Type <a href="../html/libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li><li> line 94: Function <a href="../html/libxml-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li><li> line 101: Function <a href="../html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from xpath.h</li><li> line 117: Function <a href="../html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li><li> line 129: Function <a href="../html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from xpath.h</li><li> line 130: Function <a href="../html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li><li> line 156: Function <a href="../html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a> from xmlstring.h</li><li> line 180: Function <a href="../html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a> from xmlstring.h</li><li> line 186: Function <a href="../html/libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a> from xpathInternals.h</li><li> line 206: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li><li> line 218: Type <a href="../html/libxml-tree.html#xmlNsPtr">xmlNsPtr</a> from tree.h</li></ul><p>Usage:</p><p>xpath1 <xml-file> <xpath-expr> [<known-ns-list>]</p><p>Author: Aleksey Sanin</p><h3><a name="xpath2.c" href="xpath2.c" id="xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the resulting document.</h3><p>Shows how to make a full round-trip from a load/edit/save</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html"><libxml/parser.h></a></li><li><a href="../html/libxml-xpath.html"><libxml/xpath.h></a></li><li><a href="../html/libxml-xpathInternals.html"><libxml/xpathInternals.h></a></li><li><a href="../html/libxml-tree.html"><libxml/tree.h></a></li></ul><p>Uses:</p><ul><li> line 41: Function <a href="../html/libxml-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li><li> line 87: Type <a href="../html/libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li><li> line 88: Type <a href="../html/libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li><li> line 95: Function <a href="../html/libxml-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li><li> line 102: Function <a href="../html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from xpath.h</li><li> line 110: Function <a href="../html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li><li> line 123: Function <a href="../html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from xpath.h</li><li> line 124: Function <a href="../html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li><li> line 127: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li><li> line 162: Function <a href="../html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li></ul><p>Usage:</p><p>xpath2 <xml-file> <xpath-expr> <new-value></p><p>Author: Aleksey Sanin and Daniel Veillard</p><h2><a name="xmlReader" id="xmlReader"></a>xmlReader Examples</h2><h3><a name="reader1.c" href="reader1.c" id="reader1.c">reader1.c</a>: Parse an XML file with an xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the informations about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a href="../html/libxml-xmlreader.html"><libxml/xmlreader.h></a></li></ul><p>Uses:</p><ul><li> line 29: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li><li> line 33: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li><li> line 36: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li><li> line 37: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li><li> line 39: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li><li> line 40: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li><li> line 44: Function <a href="../html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li><li> line 59: Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 62: Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 67: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 69: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li><li> line 89: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 94: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 98: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>reader1 <filename></p><p>Author: Daniel Veillard</p><h3><a name="reader2.c" href="reader2.c" id="reader2.c">reader2.c</a>: Parse and validate an XML file with an xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a href="../html/libxml-xmlreader.html"><libxml/xmlreader.h></a></li></ul><p>Uses:</p><ul><li> line 30: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li><li> line 34: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li><li> line 37: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li><li> line 38: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li><li> line 40: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li><li> line 41: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li><li> line 45: Function <a href="../html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li><li> line 60: Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 68: Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 76: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 81: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a> from xmlreader.h</li><li> line 84: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li></ul><p>Usage:</p><p>reader2 <valid_xml_filename></p><p>Author: Daniel Veillard</p><h3><a name="reader3.c" href="reader3.c" id="reader3.c">reader3.c</a>: Show how to extract subdocuments with xmlReader</h3><p>Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a href="../html/libxml-xmlreader.html"><libxml/xmlreader.h></a></li></ul><p>Uses:</p><ul><li> line 32: Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 38: Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 43: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a> from xmlreader.h</li><li> line 52: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 62: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from xmlreader.h</li><li> line 66: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li><li> line 96: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li></ul><p>Usage:</p><p>reader3</p><p>Author: Daniel Veillard</p><h3><a name="reader4.c" href="reader4.c" id="reader4.c">reader4.c</a>: Parse multiple XML files reusing an xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() and xmlReaderNewFile to parse XML files while reusing the reader object and parser context. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a href="../html/libxml-xmlreader.html"><libxml/xmlreader.h></a></li></ul><p>Uses:</p><ul><li> line 26: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 54: Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 72: Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 83: Function <a href="../html/libxml-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a> from xmlreader.h</li><li> line 97: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from xmlreader.h</li><li> line 104: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li></ul><p>Usage:</p><p>reader4 <filename> [ filename ... ]</p><p>Author: Graham Bennett</p><h2><a name="xmlWriter" id="xmlWriter"></a>xmlWriter Examples</h2><h3><a name="testWriter.c" href="testWriter.c" id="testWriter.c">testWriter.c</a>: use various APIs for the xmlWriter</h3><p>tests a number of APIs for the xmlWriter, especially the various methods to write to a filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string conversions too. The resulting documents are then serialized.</p><p>Includes:</p><ul><li><a href="../html/libxml-encoding.html"><libxml/encoding.h></a></li><li><a href="../html/libxml-xmlwriter.html"><libxml/xmlwriter.h></a></li></ul><p>Uses:</p><ul><li> line 76: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a> from xmlwriter.h</li><li> line 341: Type <a href="../html/libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> from tree.h</li><li> line 347: Function <a href="../html/libxml-tree.html#xmlBufferCreate">xmlBufferCreate</a> from tree.h</li><li> line 355: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a> from xmlwriter.h</li><li> line 613: Function <a href="../html/libxml-tree.html#xmlBufferFree">xmlBufferFree</a> from tree.h</li><li> line 632: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a> from xmlwriter.h</li><li> line 878: Type <a href="../html/libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> from xmlwriter.h</li><li> line 880: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li><li> line 885: Macro <a href="../html/libxml-parser.html#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a> from parser.h</li><li> line 885: Function <a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 894: Function <a href="../html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a> from tree.h</li><li> line 901: Function <a href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 904: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a> from xmlwriter.h</li><li> line 913: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a> from xmlwriter.h</li><li> line 925: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a> from xmlwriter.h</li><li> line 949: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a> from xmlwriter.h</li><li> line 959: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a> from xmlwriter.h</li><li> line 1073: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a> from xmlwriter.h</li><li> line 1096: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a> from xmlwriter.h</li><li> line 1103: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a> from xmlwriter.h</li><li> line 1111: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a> from xmlwriter.h</li><li> line 1121: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a> from xmlwriter.h</li><li> line 1127: Function <a href="../html/libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a> from xmlwriter.h</li><li> line 1129: Function <a href="../html/libxml-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a> from tree.h</li><li> line 1151: Type <a href="../html/libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> from encoding.h</li><li> line 1156: Function <a href="../html/libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a> from encoding.h</li></ul><p>Usage:</p><p>testWriter</p><p>Author: Alfred Mickautsch</p><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html> diff --git a/doc/examples/parse1.c b/doc/examples/parse1.c index b44b03be..e3c9d3a6 100644 --- a/doc/examples/parse1.c +++ b/doc/examples/parse1.c @@ -2,7 +2,7 @@ * section: Parsing * synopsis: Parse an XML file to a tree and free it * purpose: Demonstrate the use of xmlReadFile() to read an XML file - * into a tree and and xmlFreeDoc() to free the resulting tree + * into a tree and xmlFreeDoc() to free the resulting tree * usage: parse1 test1.xml * test: parse1 test1.xml * author: Daniel Veillard diff --git a/doc/examples/parse2.c b/doc/examples/parse2.c index aed76762..4dcbfde9 100644 --- a/doc/examples/parse2.c +++ b/doc/examples/parse2.c @@ -33,11 +33,11 @@ exampleFunc(const char *filename) { } /* parse the file, activating the DTD validation option */ doc = xmlCtxtReadFile(ctxt, filename, NULL, XML_PARSE_DTDVALID); - /* check if parsing suceeded */ + /* check if parsing succeeded */ if (doc == NULL) { fprintf(stderr, "Failed to parse %s\n", filename); } else { - /* check if validation suceeded */ + /* check if validation succeeded */ if (ctxt->valid == 0) fprintf(stderr, "Failed to validate %s\n", filename); /* free up the resulting document */ diff --git a/doc/examples/parse3.c b/doc/examples/parse3.c index a2d3a409..076a786a 100644 --- a/doc/examples/parse3.c +++ b/doc/examples/parse3.c @@ -2,7 +2,7 @@ * section: Parsing * synopsis: Parse an XML document in memory to a tree and free it * purpose: Demonstrate the use of xmlReadMemory() to read an XML file - * into a tree and and xmlFreeDoc() to free the resulting tree + * into a tree and xmlFreeDoc() to free the resulting tree * usage: parse3 * test: parse3 * author: Daniel Veillard diff --git a/doc/examples/parse4.c b/doc/examples/parse4.c index 3e280560..c7095e56 100644 --- a/doc/examples/parse4.c +++ b/doc/examples/parse4.c @@ -3,7 +3,7 @@ * synopsis: Parse an XML document chunk by chunk to a tree and free it * purpose: Demonstrate the use of xmlCreatePushParserCtxt() and * xmlParseChunk() to read an XML file progressively - * into a tree and and xmlFreeDoc() to free the resulting tree + * into a tree and xmlFreeDoc() to free the resulting tree * usage: parse4 test3.xml * test: parse4 test3.xml * author: Daniel Veillard diff --git a/doc/examples/reader1.c b/doc/examples/reader1.c index e8a005a4..76516096 100644 --- a/doc/examples/reader1.c +++ b/doc/examples/reader1.c @@ -2,7 +2,7 @@ * section: xmlReader * synopsis: Parse an XML file with an xmlReader * purpose: Demonstrate the use of xmlReaderForFile() to parse an XML file - * and dump the informations about the nodes found in the process. + * and dump the information about the nodes found in the process. * (Note that the XMLReader functions require libxml2 version later * than 2.6.) * usage: reader1 <filename> diff --git a/doc/examples/reader3.c b/doc/examples/reader3.c index 3eeb61fe..1899474b 100644 --- a/doc/examples/reader3.c +++ b/doc/examples/reader3.c @@ -91,7 +91,7 @@ int main(int argc, char **argv) { doc = extractFile(filename, (const xmlChar *) pattern); if (doc != NULL) { /* - * ouptut the result. + * output the result. */ xmlDocDump(stdout, doc); /* diff --git a/doc/examples/reader4.c b/doc/examples/reader4.c index 1289d0d4..5ed58838 100644 --- a/doc/examples/reader4.c +++ b/doc/examples/reader4.c @@ -27,7 +27,7 @@ static void processDoc(xmlTextReaderPtr readerPtr) { } /* - * One can obtain the document pointer to get insteresting + * One can obtain the document pointer to get interesting * information about the document like the URL, but one must also * be sure to clean it up at the end (see below). */ diff --git a/doc/examples/testWriter.c b/doc/examples/testWriter.c index 82e8d3ab..67be4ab4 100644 --- a/doc/examples/testWriter.c +++ b/doc/examples/testWriter.c @@ -89,7 +89,7 @@ testXmlwriterFilename(const char *uri) return; } - /* Start an element named "EXAMPLE". Since thist is the first + /* Start an element named "EXAMPLE". Since this is the first * element, this will be the root element of the document. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE"); if (rc < 0) { @@ -368,7 +368,7 @@ testXmlwriterMemory(const char *file) return; } - /* Start an element named "EXAMPLE". Since thist is the first + /* Start an element named "EXAMPLE". Since this is the first * element, this will be the root element of the document. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE"); if (rc < 0) { @@ -644,7 +644,7 @@ testXmlwriterDoc(const char *file) return; } - /* Start an element named "EXAMPLE". Since thist is the first + /* Start an element named "EXAMPLE". Since this is the first * element, this will be the root element of the document. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE"); if (rc < 0) { diff --git a/doc/guidelines.html b/doc/guidelines.html index af4a7b33..14a909c0 100644 --- a/doc/guidelines.html +++ b/doc/guidelines.html @@ -76,7 +76,7 @@ vocabulary. Here are a few tips:</p> <li>use significant words for the element and attributes names.</li> <li>do not use attributes for general textual content, attributes will be modified by the parser before reaching the application, - spaces and line informations will be modified.</li> + spaces and line information will be modified.</li> <li>use single elements for every string that might be subject to localization. The canonical way to localize XML content is to use siblings element carrying different xml:lang attributes like in the diff --git a/doc/help.html b/doc/help.html index 1f1df2ad..0c2bccf0 100644 --- a/doc/help.html +++ b/doc/help.html @@ -7,8 +7,8 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>How to help</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>How to help</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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>You can help the project in various ways, the best thing to do first is to -subscribe to the mailing-list as explained before, check the <a href="http://mail.gnome.org/archives/xml/">archives </a>and the <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Gnome bug +</style><title>How to help</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>How to help</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>You can help the project in various ways, the best thing to do first is to +subscribe to the mailing-list as explained before, check the <a href="http://mail.gnome.org/archives/xml/">archives </a>and the <a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Gnome bug database</a>:</p><ol> <li>Provide patches when you find problems.</li> <li>Provide the diffs when you port libxml2 to a new platform. They may not diff --git a/doc/html/book1.html b/doc/html/book1.html index 42d71a66..a8694937 100644 --- a/doc/html/book1.html +++ b/doc/html/book1.html @@ -10,4 +10,4 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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> + </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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string dictionary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the library</li><li><a href="libxml-hash.html">hash</a>: Chained hash tables</li><li><a href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP implementation</li><li><a href="libxml-parser.html">parser</a>: the core parser module</li><li><a href="libxml-parserInternals.html">parserInternals</a>: internals routines and limits exported by the parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a href="libxml-schematron.html">schematron</a>: XML Schemastron implementation</li><li><a href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a href="libxml-xlink.html">xlink</a>: unfinished XLink detection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a href="libxml-xmlmodule.html">xmlmodule</a>: dynamic module loading</li><li><a href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Datatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a href="libxml-xmlversion.html">xmlversion</a>: compile-time version 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 42d71a66..a8694937 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -10,4 +10,4 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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> + </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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string dictionary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the library</li><li><a href="libxml-hash.html">hash</a>: Chained hash tables</li><li><a href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP implementation</li><li><a href="libxml-parser.html">parser</a>: the core parser module</li><li><a href="libxml-parserInternals.html">parserInternals</a>: internals routines and limits exported by the parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a href="libxml-schematron.html">schematron</a>: XML Schemastron implementation</li><li><a href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a href="libxml-xlink.html">xlink</a>: unfinished XLink detection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a href="libxml-xmlmodule.html">xmlmodule</a>: dynamic module loading</li><li><a href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Datatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a href="libxml-xmlversion.html">xmlversion</a>: compile-time version 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-DOCBparser.html b/doc/html/libxml-DOCBparser.html index b00dad4c..85060c36 100644 --- a/doc/html/libxml-DOCBparser.html +++ b/doc/html/libxml-DOCBparser.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module DOCBparser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module DOCBparser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-HTMLparser.html">HTMLparser</a></th><td><a accesskey="n" href="libxml-HTMLparser.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><h2 style="font-weight:bold;color:red;text-align:center">This module is deprecated</h2><p>interface for a DocBook SGML non-verifying parser This code is DEPRECATED, and should not be used anymore. </p><div class="deprecated"><h2>Table of Contents</h2><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a name="docbParserInputPtr" id="docbParserInputPtr">docbParserInputPtr</a> + </style><title>Module DOCBparser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module DOCBparser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-HTMLparser.html">HTMLparser</a></th><td><a accesskey="n" href="libxml-HTMLparser.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><h2 style="font-weight:bold;color:red;text-align:center">This module is deprecated</h2><p>interface for a DocBook SGML non-verifying parser This code is DEPRECATED, and should not be used anymore. </p><div class="deprecated"><h2>Table of Contents</h2><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a name="docbParserInputPtr" id="docbParserInputPtr">docbParserInputPtr</a> </pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserCtxt">xmlParserCtxt</a> <a name="docbParserCtxt" id="docbParserCtxt">docbParserCtxt</a> </pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a name="docbParserCtxtPtr" id="docbParserCtxtPtr">docbParserCtxtPtr</a> </pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserInput">xmlParserInput</a> <a name="docbParserInput" id="docbParserInput">docbParserInput</a> diff --git a/doc/html/libxml-HTMLparser.html b/doc/html/libxml-HTMLparser.html index 7d9d2990..42694802 100644 --- a/doc/html/libxml-HTMLparser.html +++ b/doc/html/libxml-HTMLparser.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module HTMLparser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module HTMLparser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-DOCBparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-DOCBparser.html">DOCBparser</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-HTMLtree.html">HTMLtree</a></th><td><a accesskey="n" href="libxml-HTMLtree.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module implements an HTML 4.0 non-verifying parser with API compatible with the XML parser ones. It should be able to parse "real world" HTML, even if severely broken from a specification point of view. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a></pre><pre class="programlisting">#define <a href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a></pre><pre class="programlisting">#define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a></pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a name="htmlDocPtr" id="htmlDocPtr">htmlDocPtr</a> + </style><title>Module HTMLparser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module HTMLparser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-DOCBparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-DOCBparser.html">DOCBparser</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-HTMLtree.html">HTMLtree</a></th><td><a accesskey="n" href="libxml-HTMLtree.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module implements an HTML 4.0 non-verifying parser with API compatible with the XML parser ones. It should be able to parse "real world" HTML, even if severely broken from a specification point of view. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a></pre><pre class="programlisting">#define <a href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a></pre><pre class="programlisting">#define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a></pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a name="htmlDocPtr" id="htmlDocPtr">htmlDocPtr</a> </pre><pre class="programlisting">Structure <a href="#htmlElemDesc">htmlElemDesc</a><br />struct _htmlElemDesc </pre><pre class="programlisting">Typedef <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * <a name="htmlElemDescPtr" id="htmlElemDescPtr">htmlElemDescPtr</a> </pre><pre class="programlisting">Structure <a href="#htmlEntityDesc">htmlEntityDesc</a><br />struct _htmlEntityDesc diff --git a/doc/html/libxml-HTMLtree.html b/doc/html/libxml-HTMLtree.html index 0c897270..1bbec8c4 100644 --- a/doc/html/libxml-HTMLtree.html +++ b/doc/html/libxml-HTMLtree.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module HTMLtree from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module HTMLtree from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-HTMLparser.html">HTMLparser</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-SAX.html">SAX</a></th><td><a accesskey="n" href="libxml-SAX.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module implements a few function needed to process tree in an HTML specific way. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_PI_NODE">HTML_PI_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_TEXT_NODE">HTML_TEXT_NODE</a></pre><pre class="programlisting">void <a href="#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a> (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br /> const char * encoding, <br /> int format)</pre> + </style><title>Module HTMLtree from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module HTMLtree from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-HTMLparser.html">HTMLparser</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-SAX.html">SAX</a></th><td><a accesskey="n" href="libxml-SAX.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module implements a few function needed to process tree in an HTML specific way. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_PI_NODE">HTML_PI_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_TEXT_NODE">HTML_TEXT_NODE</a></pre><pre class="programlisting">void <a href="#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a> (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br /> const char * encoding, <br /> int format)</pre> <pre class="programlisting">void <a href="#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a> (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br /> const char * encoding)</pre> <pre class="programlisting">int <a href="#htmlDocDump">htmlDocDump</a> (FILE * f, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)</pre> <pre class="programlisting">void <a href="#htmlDocDumpMemory">htmlDocDumpMemory</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br /> <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br /> int * size)</pre> @@ -37,7 +37,7 @@ A:link, A:visited, A:active { text-decoration: underline } <h3><a name="htmlDocContentDumpFormatOutput" id="htmlDocContentDumpFormatOutput"></a>Function: htmlDocContentDumpFormatOutput</h3><pre class="programlisting">void htmlDocContentDumpFormatOutput (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br /> const char * encoding, <br /> int format)<br /> </pre><p>Dump an HTML document.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr></tbody></table></div><h3><a name="htmlDocContentDumpOutput" id="htmlDocContentDumpOutput"></a>Function: htmlDocContentDumpOutput</h3><pre class="programlisting">void htmlDocContentDumpOutput (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br /> const char * encoding)<br /> -</pre><p>Dump an HTML document. Formating return/spaces are added.</p> +</pre><p>Dump an HTML document. Formatting return/spaces are added.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string</td></tr></tbody></table></div><h3><a name="htmlDocDump" id="htmlDocDump"></a>Function: htmlDocDump</h3><pre class="programlisting">int htmlDocDump (FILE * f, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br /> </pre><p>Dump an HTML document to an open FILE.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the FILE*</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="htmlDocDumpMemory" id="htmlDocDumpMemory"></a>Function: htmlDocDumpMemory</h3><pre class="programlisting">void htmlDocDumpMemory (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br /> <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br /> int * size)<br /> diff --git a/doc/html/libxml-SAX.html b/doc/html/libxml-SAX.html index f77a9df0..d23c73a8 100644 --- a/doc/html/libxml-SAX.html +++ b/doc/html/libxml-SAX.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module SAX from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module SAX from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLtree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-HTMLtree.html">HTMLtree</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-SAX2.html">SAX2</a></th><td><a accesskey="n" href="libxml-SAX2.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><h2 style="font-weight:bold;color:red;text-align:center">This module is deprecated</h2><p>DEPRECATED set of SAX version 1 interfaces used to build the DOM tree. </p><div class="deprecated"><h2>Table of Contents</h2><pre class="programlisting">void <a href="#comment">comment</a> (void * ctx, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre> + </style><title>Module SAX from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module SAX from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLtree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-HTMLtree.html">HTMLtree</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-SAX2.html">SAX2</a></th><td><a accesskey="n" href="libxml-SAX2.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><h2 style="font-weight:bold;color:red;text-align:center">This module is deprecated</h2><p>DEPRECATED set of SAX version 1 interfaces used to build the DOM tree. </p><div class="deprecated"><h2>Table of Contents</h2><pre class="programlisting">void <a href="#comment">comment</a> (void * ctx, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre> <pre class="programlisting">int <a href="#checkNamespace">checkNamespace</a> (void * ctx, <br /> <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespace)</pre> <pre class="programlisting">int <a href="#getColumnNumber">getColumnNumber</a> (void * ctx)</pre> <pre class="programlisting">void <a href="#entityDecl">entityDecl</a> (void * ctx, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br /> int type, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br /> <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre> diff --git a/doc/html/libxml-SAX2.html b/doc/html/libxml-SAX2.html index 5447450a..bdcb11dd 100644 --- a/doc/html/libxml-SAX2.html +++ b/doc/html/libxml-SAX2.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module SAX2 from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module SAX2 from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-SAX.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-SAX.html">SAX</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-c14n.html">c14n</a></th><td><a accesskey="n" href="libxml-c14n.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>those are the default SAX2 interfaces used by the library when building DOM tree. </p><h2>Table of Contents</h2><pre class="programlisting">void <a href="#docbDefaultSAXHandlerInit">docbDefaultSAXHandlerInit</a> (void)</pre> + </style><title>Module SAX2 from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module SAX2 from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-SAX.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-SAX.html">SAX</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-c14n.html">c14n</a></th><td><a accesskey="n" href="libxml-c14n.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>those are the default SAX2 interfaces used by the library when building DOM tree. </p><h2>Table of Contents</h2><pre class="programlisting">void <a href="#docbDefaultSAXHandlerInit">docbDefaultSAXHandlerInit</a> (void)</pre> <pre class="programlisting">void <a href="#htmlDefaultSAXHandlerInit">htmlDefaultSAXHandlerInit</a> (void)</pre> <pre class="programlisting">void <a href="#xmlDefaultSAXHandlerInit">xmlDefaultSAXHandlerInit</a> (void)</pre> <pre class="programlisting">void <a href="#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a> (void * ctx, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br /> int type, <br /> int def, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br /> <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)</pre> diff --git a/doc/html/libxml-c14n.html b/doc/html/libxml-c14n.html index 2e61a98a..d8910263 100644 --- a/doc/html/libxml-c14n.html +++ b/doc/html/libxml-c14n.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module c14n from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module c14n from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-SAX2.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-SAX2.html">SAX2</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-catalog.html">catalog</a></th><td><a accesskey="n" href="libxml-catalog.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the c14n modules provides a "Canonical XML" implementation</p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xmlC14NMode">xmlC14NMode</a> + </style><title>Module c14n from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module c14n from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-SAX2.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-SAX2.html">SAX2</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-catalog.html">catalog</a></th><td><a accesskey="n" href="libxml-catalog.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the c14n modules provides a "Canonical XML" implementation</p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xmlC14NMode">xmlC14NMode</a> </pre><pre class="programlisting">int <a href="#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br /> <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br /> int mode, <br /> <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br /> int with_comments, <br /> <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr)</pre> <pre class="programlisting">int <a href="#xmlC14NDocSave">xmlC14NDocSave</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br /> <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br /> int mode, <br /> <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br /> int with_comments, <br /> const char * filename, <br /> int compression)</pre> <pre class="programlisting">int <a href="#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br /> <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br /> int mode, <br /> <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br /> int with_comments, <br /> <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)</pre> @@ -20,7 +20,7 @@ int <a href="#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> (void * use </pre> <h2>Description</h2> <h3>Enum <a name="xmlC14NMode" id="xmlC14NMode">xmlC14NMode</a></h3><pre class="programlisting">Enum xmlC14NMode { - <a name="XML_C14N_1_0" id="XML_C14N_1_0">XML_C14N_1_0</a> = 0 : Origianal C14N 1.0 spec + <a name="XML_C14N_1_0" id="XML_C14N_1_0">XML_C14N_1_0</a> = 0 : Original C14N 1.0 spec <a name="XML_C14N_EXCLUSIVE_1_0" id="XML_C14N_EXCLUSIVE_1_0">XML_C14N_EXCLUSIVE_1_0</a> = 1 : Exclusive C14N 1.0 spec <a name="XML_C14N_1_1" id="XML_C14N_1_1">XML_C14N_1_1</a> = 2 : C14N 1.1 spec } @@ -28,11 +28,11 @@ int <a href="#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> (void * use </pre><p>Dumps the canonized image of given XML document into memory. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document for canonization</td></tr><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td><td>the memory pointer for allocated canonical XML text; the caller of this functions is responsible for calling xmlFree() to free allocated memory</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written on success or a negative value on fail</td></tr></tbody></table></div><h3><a name="xmlC14NDocSave" id="xmlC14NDocSave"></a>Function: xmlC14NDocSave</h3><pre class="programlisting">int xmlC14NDocSave (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br /> <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br /> int mode, <br /> <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br /> int with_comments, <br /> const char * filename, <br /> int compression)<br /> </pre><p>Dumps the canonized image of given XML document into the file. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document for canonization</td></tr><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename to store canonical XML image</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>the compression level (zlib requred): -1 - libxml default, 0 - uncompressed, >0 - compression level</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written success or a negative value on fail</td></tr></tbody></table></div><h3><a name="xmlC14NDocSaveTo" id="xmlC14NDocSaveTo"></a>Function: xmlC14NDocSaveTo</h3><pre class="programlisting">int xmlC14NDocSaveTo (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br /> <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br /> int mode, <br /> <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br /> int with_comments, <br /> <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br /> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document for canonization</td></tr><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename to store canonical XML image</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>the compression level (zlib required): -1 - libxml default, 0 - uncompressed, >0 - compression level</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written success or a negative value on fail</td></tr></tbody></table></div><h3><a name="xmlC14NDocSaveTo" id="xmlC14NDocSaveTo"></a>Function: xmlC14NDocSaveTo</h3><pre class="programlisting">int xmlC14NDocSaveTo (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br /> <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br /> int mode, <br /> <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br /> int with_comments, <br /> <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br /> </pre><p>Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document for canonization</td></tr><tr><td><span class="term"><i><tt>nodes</tt></i>:</span></td><td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>non-negative value on success or a negative value on fail</td></tr></tbody></table></div><h3><a name="xmlC14NExecute" id="xmlC14NExecute"></a>Function: xmlC14NExecute</h3><pre class="programlisting">int xmlC14NExecute (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br /> <a href="libxml-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br /> void * user_data, <br /> int mode, <br /> <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br /> int with_comments, <br /> <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br /> </pre><p>Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document for canonization</td></tr><tr><td><span class="term"><i><tt>is_visible_callback</tt></i>:</span></td><td>the function to use to determine is node visible or not</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>the first parameter for @is_visible_callback function (in most cases, it is nodes set)</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>non-negative value on success or a negative value on fail</td></tr></tbody></table></div><h3><a name="xmlC14NIsVisibleCallback" id="xmlC14NIsVisibleCallback"></a>Function type: xmlC14NIsVisibleCallback</h3><pre class="programlisting">Function type: xmlC14NIsVisibleCallback int xmlC14NIsVisibleCallback (void * user_data, <br /> <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br /> <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent) -</pre><p>Signature for a C14N callback on visible nodes</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>user data</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the curent node</td></tr><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node should be included</td></tr></tbody></table></div><br /> +</pre><p>Signature for a C14N callback on visible nodes</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>user data</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node should be included</td></tr></tbody></table></div><br /> <p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html> diff --git a/doc/html/libxml-catalog.html b/doc/html/libxml-catalog.html index d6d28f8d..3d6b2cc4 100644 --- a/doc/html/libxml-catalog.html +++ b/doc/html/libxml-catalog.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module catalog from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module catalog from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-c14n.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-c14n.html">c14n</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-chvalid.html">chvalid</a></th><td><a accesskey="n" href="libxml-chvalid.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the catalog module implements the support for XML Catalogs and SGML catalogs </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a></pre><pre class="programlisting">Structure <a href="#xmlCatalog">xmlCatalog</a><br />struct _xmlCatalog + </style><title>Module catalog from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module catalog from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-c14n.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-c14n.html">c14n</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-chvalid.html">chvalid</a></th><td><a accesskey="n" href="libxml-chvalid.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the catalog module implements the support for XML Catalogs and SGML catalogs </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a></pre><pre class="programlisting">Structure <a href="#xmlCatalog">xmlCatalog</a><br />struct _xmlCatalog The content of this structure is not made public by the API. </pre><pre class="programlisting">Enum <a href="#xmlCatalogAllow">xmlCatalogAllow</a> </pre><pre class="programlisting">Enum <a href="#xmlCatalogPrefer">xmlCatalogPrefer</a> @@ -53,7 +53,7 @@ The content of this structure is not made public by the API. <pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlParseCatalogFile">xmlParseCatalogFile</a> (const char * filename)</pre> <h2>Description</h2> <h3><a name="XML_CATALOGS_NAMESPACE" id="XML_CATALOGS_NAMESPACE"></a>Macro: XML_CATALOGS_NAMESPACE</h3><pre>#define XML_CATALOGS_NAMESPACE</pre><p>The namespace for the XML Catalogs elements.</p> -<h3><a name="XML_CATALOG_PI" id="XML_CATALOG_PI"></a>Macro: XML_CATALOG_PI</h3><pre>#define XML_CATALOG_PI</pre><p>The specific XML Catalog Processing Instuction name.</p> +<h3><a name="XML_CATALOG_PI" id="XML_CATALOG_PI"></a>Macro: XML_CATALOG_PI</h3><pre>#define XML_CATALOG_PI</pre><p>The specific XML Catalog Processing Instruction name.</p> <h3><a name="xmlCatalog" id="xmlCatalog">Structure xmlCatalog</a></h3><pre class="programlisting">Structure xmlCatalog<br />struct _xmlCatalog { The content of this structure is not made public by the API. }</pre><h3>Enum <a name="xmlCatalogAllow" id="xmlCatalogAllow">xmlCatalogAllow</a></h3><pre class="programlisting">Enum xmlCatalogAllow { diff --git a/doc/html/libxml-chvalid.html b/doc/html/libxml-chvalid.html index 177e9f67..a837fe6f 100644 --- a/doc/html/libxml-chvalid.html +++ b/doc/html/libxml-chvalid.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module chvalid from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module chvalid from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-catalog.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-catalog.html">catalog</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-debugXML.html">debugXML</a></th><td><a accesskey="n" href="libxml-debugXML.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module exports interfaces for the character range validation APIs This file is automatically generated from the cvs source definition files using the genChRanges.py Python script </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a></pre><pre class="programlisting">#define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsBlankQ">xmlIsBlankQ</a></pre><pre class="programlisting">#define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsCharQ">xmlIsCharQ</a></pre><pre class="programlisting">#define <a href="#xmlIsChar_ch">xmlIsChar_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsCombiningQ">xmlIsCombiningQ</a></pre><pre class="programlisting">#define <a href="#xmlIsDigitQ">xmlIsDigitQ</a></pre><pre class="programlisting">#define <a href="#xmlIsDigit_ch">xmlIsDigit_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsExtenderQ">xmlIsExtenderQ</a></pre><pre class="programlisting">#define <a href="#xmlIsExtender_ch">xmlIsExtender_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsIdeographicQ">xmlIsIdeographicQ</a></pre><pre class="programlisting">#define <a href="#xmlIsPubidCharQ">xmlIsPubidCharQ</a></pre><pre class="programlisting">#define <a href="#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a></pre><pre class="programlisting">Structure <a href="#xmlChLRange">xmlChLRange</a><br />struct _xmlChLRange + </style><title>Module chvalid from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module chvalid from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-catalog.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-catalog.html">catalog</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-debugXML.html">debugXML</a></th><td><a accesskey="n" href="libxml-debugXML.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module exports interfaces for the character range validation APIs This file is automatically generated from the cvs source definition files using the genChRanges.py Python script </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a></pre><pre class="programlisting">#define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsBlankQ">xmlIsBlankQ</a></pre><pre class="programlisting">#define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsCharQ">xmlIsCharQ</a></pre><pre class="programlisting">#define <a href="#xmlIsChar_ch">xmlIsChar_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsCombiningQ">xmlIsCombiningQ</a></pre><pre class="programlisting">#define <a href="#xmlIsDigitQ">xmlIsDigitQ</a></pre><pre class="programlisting">#define <a href="#xmlIsDigit_ch">xmlIsDigit_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsExtenderQ">xmlIsExtenderQ</a></pre><pre class="programlisting">#define <a href="#xmlIsExtender_ch">xmlIsExtender_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsIdeographicQ">xmlIsIdeographicQ</a></pre><pre class="programlisting">#define <a href="#xmlIsPubidCharQ">xmlIsPubidCharQ</a></pre><pre class="programlisting">#define <a href="#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a></pre><pre class="programlisting">Structure <a href="#xmlChLRange">xmlChLRange</a><br />struct _xmlChLRange </pre><pre class="programlisting">Typedef <a href="libxml-chvalid.html#xmlChLRange">xmlChLRange</a> * <a name="xmlChLRangePtr" id="xmlChLRangePtr">xmlChLRangePtr</a> </pre><pre class="programlisting">Structure <a href="#xmlChRangeGroup">xmlChRangeGroup</a><br />struct _xmlChRangeGroup </pre><pre class="programlisting">Typedef <a href="libxml-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * <a name="xmlChRangeGroupPtr" id="xmlChRangeGroupPtr">xmlChRangeGroupPtr</a> diff --git a/doc/html/libxml-debugXML.html b/doc/html/libxml-debugXML.html index 3426e14d..6b5f0e00 100644 --- a/doc/html/libxml-debugXML.html +++ b/doc/html/libxml-debugXML.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module debugXML from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module debugXML from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-chvalid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-chvalid.html">chvalid</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-dict.html">dict</a></th><td><a accesskey="n" href="libxml-dict.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>Interfaces to a set of routines used for debugging the tree produced by the XML parser. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlShellCtxt">xmlShellCtxt</a><br />struct _xmlShellCtxt + </style><title>Module debugXML from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module debugXML from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-chvalid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-chvalid.html">chvalid</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-dict.html">dict</a></th><td><a accesskey="n" href="libxml-dict.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>Interfaces to a set of routines used for debugging the tree produced by the XML parser. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlShellCtxt">xmlShellCtxt</a><br />struct _xmlShellCtxt </pre><pre class="programlisting">Typedef <a href="libxml-debugXML.html#xmlShellCtxt">xmlShellCtxt</a> * <a name="xmlShellCtxtPtr" id="xmlShellCtxtPtr">xmlShellCtxtPtr</a> </pre><pre class="programlisting">const char * <a href="#xmlBoolToText">xmlBoolToText</a> (int boolval)</pre> <pre class="programlisting">int <a href="#xmlDebugCheckDocument">xmlDebugCheckDocument</a> (FILE * output, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre> @@ -68,7 +68,7 @@ char * <a href="#xmlShellReadlineFunc">xmlShellReadlineFunc</a> (char * prompt) <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>the DTD</td></tr></tbody></table></div><h3><a name="xmlDebugDumpDocument" id="xmlDebugDumpDocument"></a>Function: xmlDebugDumpDocument</h3><pre class="programlisting">void xmlDebugDumpDocument (FILE * output, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br /> </pre><p>Dumps debug information for the document, it's recursive</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div><h3><a name="xmlDebugDumpDocumentHead" id="xmlDebugDumpDocumentHead"></a>Function: xmlDebugDumpDocumentHead</h3><pre class="programlisting">void xmlDebugDumpDocumentHead (FILE * output, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br /> -</pre><p>Dumps debug information cncerning the document, not recursive</p> +</pre><p>Dumps debug information concerning the document, not recursive</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div><h3><a name="xmlDebugDumpEntities" id="xmlDebugDumpEntities"></a>Function: xmlDebugDumpEntities</h3><pre class="programlisting">void xmlDebugDumpEntities (FILE * output, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br /> </pre><p>Dumps debug information for all the entities in use by the document</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div><h3><a name="xmlDebugDumpNode" id="xmlDebugDumpNode"></a>Function: xmlDebugDumpNode</h3><pre class="programlisting">void xmlDebugDumpNode (FILE * output, <br /> <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br /> int depth)<br /> diff --git a/doc/html/libxml-dict.html b/doc/html/libxml-dict.html index 0854d29f..1e65f860 100644 --- a/doc/html/libxml-dict.html +++ b/doc/html/libxml-dict.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module dict from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module dict from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-debugXML.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-debugXML.html">debugXML</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-encoding.html">encoding</a></th><td><a accesskey="n" href="libxml-encoding.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>dictionary of reusable strings, just used to avoid allocation and freeing operations. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlDict">xmlDict</a><br />struct _xmlDict + </style><title>Module dict from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module dict from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-debugXML.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-debugXML.html">debugXML</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-encoding.html">encoding</a></th><td><a accesskey="n" href="libxml-encoding.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>dictionary of reusable strings, just used to avoid allocation and freeing operations. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlDict">xmlDict</a><br />struct _xmlDict The content of this structure is not made public by the API. </pre><pre class="programlisting">Typedef <a href="libxml-dict.html#xmlDict">xmlDict</a> * <a name="xmlDictPtr" id="xmlDictPtr">xmlDictPtr</a> </pre><pre class="programlisting">void <a href="#xmlDictCleanup">xmlDictCleanup</a> (void)</pre> @@ -44,7 +44,7 @@ The content of this structure is not made public by the API. <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> +</pre><p>check if a string is owned by the dictionary</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false and -1 in case of error -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlDictQLookup" id="xmlDictQLookup"></a>Function: xmlDictQLookup</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlDictQLookup (<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br /> </pre><p>Add the QName @prefix:@name to the hash @dict if not present.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal copy of the QName or NULL in case of internal error</td></tr></tbody></table></div><h3><a name="xmlDictReference" id="xmlDictReference"></a>Function: xmlDictReference</h3><pre class="programlisting">int xmlDictReference (<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br /> diff --git a/doc/html/libxml-encoding.html b/doc/html/libxml-encoding.html index 0ebfb149..03157641 100644 --- a/doc/html/libxml-encoding.html +++ b/doc/html/libxml-encoding.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module encoding from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module encoding from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-dict.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-dict.html">dict</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-entities.html">entities</a></th><td><a accesskey="n" href="libxml-entities.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface for the encoding conversion functions needed for XML basic encoding and iconv() support. Related specs are rfc2044 (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646] UTF-8 and UTF-16 in Annexes [ISO-8859-1] ISO Latin-1 characters codes. [UNICODE] The Unicode Consortium, "The Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 1992. UTF-8 is described in Unicode Technical Report #4. [US-ASCII] Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#ICU_PIVOT_BUF_SIZE">ICU_PIVOT_BUF_SIZE</a></pre><pre class="programlisting">Structure <a href="#uconv_t">uconv_t</a><br />struct _uconv_t + </style><title>Module encoding from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module encoding from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-dict.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-dict.html">dict</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-entities.html">entities</a></th><td><a accesskey="n" href="libxml-entities.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface for the encoding conversion functions needed for XML basic encoding and iconv() support. Related specs are rfc2044 (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646] UTF-8 and UTF-16 in Annexes [ISO-8859-1] ISO Latin-1 characters codes. [UNICODE] The Unicode Consortium, "The Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 1992. UTF-8 is described in Unicode Technical Report #4. [US-ASCII] Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#ICU_PIVOT_BUF_SIZE">ICU_PIVOT_BUF_SIZE</a></pre><pre class="programlisting">Structure <a href="#uconv_t">uconv_t</a><br />struct _uconv_t </pre><pre class="programlisting">Enum <a href="#xmlCharEncoding">xmlCharEncoding</a> </pre><pre class="programlisting">Structure <a href="#xmlCharEncodingHandler">xmlCharEncodingHandler</a><br />struct _xmlCharEncodingHandler </pre><pre class="programlisting">Typedef <a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * <a name="xmlCharEncodingHandlerPtr" id="xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> @@ -89,13 +89,13 @@ int <a href="#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> (unsigned </pre><p>Registers an alias @alias for an encoding named @name. Existing alias will be overwritten.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the encoding name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>alias</tt></i>:</span></td><td>the alias name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlCharEncCloseFunc" id="xmlCharEncCloseFunc"></a>Function: xmlCharEncCloseFunc</h3><pre class="programlisting">int xmlCharEncCloseFunc (<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler)<br /> </pre><p>Generic front-end for encoding handler close function</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char enconding transformation data structure</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlCharEncFirstLine" id="xmlCharEncFirstLine"></a>Function: xmlCharEncFirstLine</h3><pre class="programlisting">int xmlCharEncFirstLine (<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br /> <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br /> <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br /> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data structure</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlCharEncFirstLine" id="xmlCharEncFirstLine"></a>Function: xmlCharEncFirstLine</h3><pre class="programlisting">int xmlCharEncFirstLine (<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br /> <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br /> <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br /> </pre><p>Front-end for the encoding handler input function, but handle only the very first line, i.e. limit itself to 45 chars.</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char enconding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div><h3><a name="xmlCharEncInFunc" id="xmlCharEncInFunc"></a>Function: xmlCharEncInFunc</h3><pre class="programlisting">int xmlCharEncInFunc (<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br /> <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br /> <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br /> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div><h3><a name="xmlCharEncInFunc" id="xmlCharEncInFunc"></a>Function: xmlCharEncInFunc</h3><pre class="programlisting">int xmlCharEncInFunc (<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br /> <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br /> <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br /> </pre><p>Generic front-end for the encoding handler input function</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div><h3><a name="xmlCharEncOutFunc" id="xmlCharEncOutFunc"></a>Function: xmlCharEncOutFunc</h3><pre class="programlisting">int xmlCharEncOutFunc (<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br /> <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br /> <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br /> </pre><p>Generic front-end for the encoding handler output function a first call with @in == NULL has to be made firs to initiate the output in case of non-stateless encoding needing to initiate their state or the output (like the BOM in UTF16). In case of UTF8 sequence conversion errors for the given encoder, the content will be automatically remapped to a CharRef sequence.</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char enconding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div><h3><a name="xmlCharEncodingInputFunc" id="xmlCharEncodingInputFunc"></a>Function type: xmlCharEncodingInputFunc</h3><pre class="programlisting">Function type: xmlCharEncodingInputFunc +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div><h3><a name="xmlCharEncodingInputFunc" id="xmlCharEncodingInputFunc"></a>Function type: xmlCharEncodingInputFunc</h3><pre class="programlisting">Function type: xmlCharEncodingInputFunc int xmlCharEncodingInputFunc (unsigned char * out, <br /> int * outlen, <br /> const unsigned char * in, <br /> int * inlen) </pre><p>Take a block of chars in the original encoding and try to convert it to an UTF-8 block of chars out.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the UTF-8 result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of chars in the original encoding</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets consumed.</td></tr></tbody></table></div><br /> <h3><a name="xmlCharEncodingOutputFunc" id="xmlCharEncodingOutputFunc"></a>Function type: xmlCharEncodingOutputFunc</h3><pre class="programlisting">Function type: xmlCharEncodingOutputFunc diff --git a/doc/html/libxml-entities.html b/doc/html/libxml-entities.html index b7d14553..aa0db7f6 100644 --- a/doc/html/libxml-entities.html +++ b/doc/html/libxml-entities.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module entities from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module entities from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-encoding.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-encoding.html">encoding</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-globals.html">globals</a></th><td><a accesskey="n" href="libxml-globals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module provides some of the entity API needed for the parser and applications. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlEntitiesTable">xmlEntitiesTable</a><br />struct _xmlHashTable + </style><title>Module entities from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module entities from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-encoding.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-encoding.html">encoding</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-globals.html">globals</a></th><td><a accesskey="n" href="libxml-globals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module provides some of the entity API needed for the parser and applications. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlEntitiesTable">xmlEntitiesTable</a><br />struct _xmlHashTable The content of this structure is not made public by the API. </pre><pre class="programlisting">Typedef <a href="libxml-entities.html#xmlEntitiesTable">xmlEntitiesTable</a> * <a name="xmlEntitiesTablePtr" id="xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> </pre><pre class="programlisting">Enum <a href="#xmlEntityType">xmlEntityType</a> @@ -75,5 +75,5 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the entity</td></tr></tbody></table></div><h3><a name="xmlInitializePredefinedEntities" id="xmlInitializePredefinedEntities"></a>Function: xmlInitializePredefinedEntities</h3><pre class="programlisting">void xmlInitializePredefinedEntities (void)<br /> </pre><p>Set up the predefined entities. Deprecated call</p> <h3><a name="xmlNewEntity" id="xmlNewEntity"></a>Function: xmlNewEntity</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> xmlNewEntity (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br /> int type, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br /> -</pre><p>Create a new entity, this differs from xmlAddDocEntity() that if the document is NULL or has no internal subset defined, then an unlinked entity structure will be returned, it is then the responsability of the caller to link it to the document later or free it when not needed anymore.</p> +</pre><p>Create a new entity, this differs from xmlAddDocEntity() that if the document is NULL or has no internal subset defined, then an unlinked entity structure will be returned, it is then the responsibility of the caller to link it to the document later or free it when not needed anymore.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the entity type XML_xxx_yyy_ENTITY</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the entity external ID if available</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the entity system ID if available</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the entity content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the entity or NULL in case of error</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html> diff --git a/doc/html/libxml-globals.html b/doc/html/libxml-globals.html index 04986efd..3366de09 100644 --- a/doc/html/libxml-globals.html +++ b/doc/html/libxml-globals.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module globals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module globals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-entities.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-entities.html">entities</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-hash.html">hash</a></th><td><a accesskey="n" href="libxml-hash.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>all the global variables and thread handling for those variables is handled by this module. The bottom of this file is automatically generated by build_glob.py based on the description file global.data </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlGlobalState">xmlGlobalState</a><br />struct _xmlGlobalState + </style><title>Module globals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module globals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-entities.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-entities.html">entities</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-hash.html">hash</a></th><td><a accesskey="n" href="libxml-hash.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>all the global variables and thread handling for those variables is handled by this module. The bottom of this file is automatically generated by build_glob.py based on the description file global.data </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlGlobalState">xmlGlobalState</a><br />struct _xmlGlobalState </pre><pre class="programlisting">Typedef <a href="libxml-globals.html#xmlGlobalState">xmlGlobalState</a> * <a name="xmlGlobalStatePtr" id="xmlGlobalStatePtr">xmlGlobalStatePtr</a> </pre><pre class="programlisting">void <a href="#xmlCleanupGlobals">xmlCleanupGlobals</a> (void)</pre> <pre class="programlisting"><a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> <a href="#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a> (<a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)</pre> diff --git a/doc/html/libxml-hash.html b/doc/html/libxml-hash.html index 021adb8f..84585418 100644 --- a/doc/html/libxml-hash.html +++ b/doc/html/libxml-hash.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module hash from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module hash from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-globals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-globals.html">globals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-list.html">list</a></th><td><a accesskey="n" href="libxml-list.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>This module implements the hash table support used in various places in the library. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a></pre><pre class="programlisting">Structure <a href="#xmlHashTable">xmlHashTable</a><br />struct _xmlHashTable + </style><title>Module hash from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module hash from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-globals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-globals.html">globals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-list.html">list</a></th><td><a accesskey="n" href="libxml-list.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>This module implements the hash table support used in various places in the library. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a></pre><pre class="programlisting">Structure <a href="#xmlHashTable">xmlHashTable</a><br />struct _xmlHashTable The content of this structure is not made public by the API. </pre><pre class="programlisting">Typedef <a href="libxml-hash.html#xmlHashTable">xmlHashTable</a> * <a name="xmlHashTablePtr" id="xmlHashTablePtr">xmlHashTablePtr</a> </pre><pre class="programlisting">int <a href="#xmlHashAddEntry">xmlHashAddEntry</a> (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br /> void * userdata)</pre> @@ -104,10 +104,10 @@ void xmlHashDeallocator (void * payload, <br /> const <a href="libxml-xmls </pre><p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the scanner function for items in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra data passed to f</td></tr></tbody></table></div><h3><a name="xmlHashScanner" id="xmlHashScanner"></a>Function type: xmlHashScanner</h3><pre class="programlisting">Function type: xmlHashScanner void xmlHashScanner (void * payload, <br /> void * data, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name) -</pre><p>Callback when scanning data in a hash with the simple scanner.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra scannner data</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr></tbody></table></div><br /> +</pre><p>Callback when scanning data in a hash with the simple scanner.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra scanner data</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr></tbody></table></div><br /> <h3><a name="xmlHashScannerFull" id="xmlHashScannerFull"></a>Function type: xmlHashScannerFull</h3><pre class="programlisting">Function type: xmlHashScannerFull void xmlHashScannerFull (void * payload, <br /> void * data, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3) -</pre><p>Callback when scanning data in a hash with the full scanner.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra scannner data</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>the second name associated</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>the third name associated</td></tr></tbody></table></div><br /> +</pre><p>Callback when scanning data in a hash with the full scanner.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra scanner data</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>the second name associated</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>the third name associated</td></tr></tbody></table></div><br /> <h3><a name="xmlHashSize" id="xmlHashSize"></a>Function: xmlHashSize</h3><pre class="programlisting">int xmlHashSize (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table)<br /> </pre><p>Query the number of elements installed in the hash @table.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the hash table or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlHashUpdateEntry" id="xmlHashUpdateEntry"></a>Function: xmlHashUpdateEntry</h3><pre class="programlisting">int xmlHashUpdateEntry (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br /> void * userdata, <br /> <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br /> diff --git a/doc/html/libxml-lib.html b/doc/html/libxml-lib.html index 42d71a66..a8694937 100644 --- a/doc/html/libxml-lib.html +++ b/doc/html/libxml-lib.html @@ -10,4 +10,4 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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> + </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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string dictionary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the library</li><li><a href="libxml-hash.html">hash</a>: Chained hash tables</li><li><a href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP implementation</li><li><a href="libxml-parser.html">parser</a>: the core parser module</li><li><a href="libxml-parserInternals.html">parserInternals</a>: internals routines and limits exported by the parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a href="libxml-schematron.html">schematron</a>: XML Schemastron implementation</li><li><a href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a href="libxml-xlink.html">xlink</a>: unfinished XLink detection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a href="libxml-xmlmodule.html">xmlmodule</a>: dynamic module loading</li><li><a href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Datatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a href="libxml-xmlversion.html">xmlversion</a>: compile-time version 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-list.html b/doc/html/libxml-list.html index 1738afc7..f17e1134 100644 --- a/doc/html/libxml-list.html +++ b/doc/html/libxml-list.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module list from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module list from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-hash.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-hash.html">hash</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-nanoftp.html">nanoftp</a></th><td><a accesskey="n" href="libxml-nanoftp.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module implement the list support used in various place in the library. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlLink">xmlLink</a><br />struct _xmlLink + </style><title>Module list from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module list from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-hash.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-hash.html">hash</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-nanoftp.html">nanoftp</a></th><td><a accesskey="n" href="libxml-nanoftp.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module implement the list support used in various place in the library. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlLink">xmlLink</a><br />struct _xmlLink The content of this structure is not made public by the API. </pre><pre class="programlisting">Typedef <a href="libxml-list.html#xmlLink">xmlLink</a> * <a name="xmlLinkPtr" id="xmlLinkPtr">xmlLinkPtr</a> </pre><pre class="programlisting">Structure <a href="#xmlList">xmlList</a><br />struct _xmlList diff --git a/doc/html/libxml-nanoftp.html b/doc/html/libxml-nanoftp.html index 9f70ea6f..3e3ac628 100644 --- a/doc/html/libxml-nanoftp.html +++ b/doc/html/libxml-nanoftp.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module nanoftp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module nanoftp from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-list.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-list.html">list</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-nanohttp.html">nanohttp</a></th><td><a accesskey="n" href="libxml-nanohttp.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>minimal FTP implementation allowing to fetch resources like external subset. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#INVALID_SOCKET">INVALID_SOCKET</a></pre><pre class="programlisting">#define <a href="#SOCKET">SOCKET</a></pre><pre class="programlisting">Function type: <a href="#ftpDataCallback">ftpDataCallback</a> + </style><title>Module nanoftp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module nanoftp from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-list.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-list.html">list</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-nanohttp.html">nanohttp</a></th><td><a accesskey="n" href="libxml-nanohttp.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>minimal FTP implementation allowing to fetch resources like external subset. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#INVALID_SOCKET">INVALID_SOCKET</a></pre><pre class="programlisting">#define <a href="#SOCKET">SOCKET</a></pre><pre class="programlisting">Function type: <a href="#ftpDataCallback">ftpDataCallback</a> void <a href="#ftpDataCallback">ftpDataCallback</a> (void * userData, <br /> const char * data, <br /> int len) </pre> <pre class="programlisting">Function type: <a href="#ftpListCallback">ftpListCallback</a> diff --git a/doc/html/libxml-nanohttp.html b/doc/html/libxml-nanohttp.html index 5bbcbaf4..f507c142 100644 --- a/doc/html/libxml-nanohttp.html +++ b/doc/html/libxml-nanohttp.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module nanohttp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module nanohttp from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-nanoftp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-nanoftp.html">nanoftp</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-parser.html">parser</a></th><td><a accesskey="n" href="libxml-parser.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>minimal HTTP implementation allowing to fetch resources like external subset. </p><h2>Table of Contents</h2><pre class="programlisting">const char * <a href="#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a> (void * ctx)</pre> + </style><title>Module nanohttp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module nanohttp from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-nanoftp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-nanoftp.html">nanoftp</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-parser.html">parser</a></th><td><a accesskey="n" href="libxml-parser.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>minimal HTTP implementation allowing to fetch resources like external subset. </p><h2>Table of Contents</h2><pre class="programlisting">const char * <a href="#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a> (void * ctx)</pre> <pre class="programlisting">void <a href="#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a> (void)</pre> <pre class="programlisting">void <a href="#xmlNanoHTTPClose">xmlNanoHTTPClose</a> (void * ctx)</pre> <pre class="programlisting">int <a href="#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a> (void * ctx)</pre> diff --git a/doc/html/libxml-parser.html b/doc/html/libxml-parser.html index 4d890c62..d1c320e3 100644 --- a/doc/html/libxml-parser.html +++ b/doc/html/libxml-parser.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module parser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module parser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-nanohttp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-nanohttp.html">nanohttp</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-parserInternals.html">parserInternals</a></th><td><a accesskey="n" href="libxml-parserInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>Interfaces, constants and types related to the XML parser </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a></pre><pre class="programlisting">#define <a href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a></pre><pre class="programlisting">#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a></pre><pre class="programlisting">#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a></pre><pre class="programlisting">#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a></pre><pre class="programlisting">Enum <a href="#xmlFeature">xmlFeature</a> + </style><title>Module parser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module parser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-nanohttp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-nanohttp.html">nanohttp</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-parserInternals.html">parserInternals</a></th><td><a accesskey="n" href="libxml-parserInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>Interfaces, constants and types related to the XML parser </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a></pre><pre class="programlisting">#define <a href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a></pre><pre class="programlisting">#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a></pre><pre class="programlisting">#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a></pre><pre class="programlisting">#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a></pre><pre class="programlisting">Enum <a href="#xmlFeature">xmlFeature</a> </pre><pre class="programlisting">Enum <a href="#xmlParserInputState">xmlParserInputState</a> </pre><pre class="programlisting">Enum <a href="#xmlParserMode">xmlParserMode</a> </pre><pre class="programlisting">Structure <a href="#xmlParserNodeInfo">xmlParserNodeInfo</a><br />struct _xmlParserNodeInfo @@ -277,7 +277,7 @@ void <a href="#xmlParserInputDeallocate">xmlParserInputDeallocate</a> (<a href=" <a name="XML_PARSE_PEDANTIC" id="XML_PARSE_PEDANTIC">XML_PARSE_PEDANTIC</a> = 128 : pedantic error reporting <a name="XML_PARSE_NOBLANKS" id="XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a> = 256 : remove blank nodes <a name="XML_PARSE_SAX1" id="XML_PARSE_SAX1">XML_PARSE_SAX1</a> = 512 : use the SAX1 interface internally - <a name="XML_PARSE_XINCLUDE" id="XML_PARSE_XINCLUDE">XML_PARSE_XINCLUDE</a> = 1024 : Implement XInclude substitition + <a name="XML_PARSE_XINCLUDE" id="XML_PARSE_XINCLUDE">XML_PARSE_XINCLUDE</a> = 1024 : Implement XInclude substitution <a name="XML_PARSE_NONET" id="XML_PARSE_NONET">XML_PARSE_NONET</a> = 2048 : Forbid network access <a name="XML_PARSE_NODICT" id="XML_PARSE_NODICT">XML_PARSE_NODICT</a> = 4096 : Do not reuse the context dictionary <a name="XML_PARSE_NSCLEAN" id="XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a> = 8192 : remove redundant namespaces declarations diff --git a/doc/html/libxml-parserInternals.html b/doc/html/libxml-parserInternals.html index 4d1292b6..357803e2 100644 --- a/doc/html/libxml-parserInternals.html +++ b/doc/html/libxml-parserInternals.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module parserInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module parserInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-parser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-parser.html">parser</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-pattern.html">pattern</a></th><td><a accesskey="n" href="libxml-pattern.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module exports a number of internal parsing routines they are not really all intended for applications but can prove useful doing low level processing. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a></pre><pre class="programlisting">#define <a href="#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a></pre><pre class="programlisting">#define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a></pre><pre class="programlisting">#define <a href="#IS_BASECHAR">IS_BASECHAR</a></pre><pre class="programlisting">#define <a href="#IS_BLANK">IS_BLANK</a></pre><pre class="programlisting">#define <a href="#IS_BLANK_CH">IS_BLANK_CH</a></pre><pre class="programlisting">#define <a href="#IS_BYTE_CHAR">IS_BYTE_CHAR</a></pre><pre class="programlisting">#define <a href="#IS_CHAR">IS_CHAR</a></pre><pre class="programlisting">#define <a href="#IS_CHAR_CH">IS_CHAR_CH</a></pre><pre class="programlisting">#define <a href="#IS_COMBINING">IS_COMBINING</a></pre><pre class="programlisting">#define <a href="#IS_COMBINING_CH">IS_COMBINING_CH</a></pre><pre class="programlisting">#define <a href="#IS_DIGIT">IS_DIGIT</a></pre><pre class="programlisting">#define <a href="#IS_DIGIT_CH">IS_DIGIT_CH</a></pre><pre class="programlisting">#define <a href="#IS_EXTENDER">IS_EXTENDER</a></pre><pre class="programlisting">#define <a href="#IS_EXTENDER_CH">IS_EXTENDER_CH</a></pre><pre class="programlisting">#define <a href="#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a></pre><pre class="programlisting">#define <a href="#IS_LETTER">IS_LETTER</a></pre><pre class="programlisting">#define <a href="#IS_LETTER_CH">IS_LETTER_CH</a></pre><pre class="programlisting">#define <a href="#IS_PUBIDCHAR">IS_PUBIDCHAR</a></pre><pre class="programlisting">#define <a href="#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a></pre><pre class="programlisting">#define <a href="#MOVETO_ENDTAG">MOVETO_ENDTAG</a></pre><pre class="programlisting">#define <a href="#MOVETO_STARTTAG">MOVETO_STARTTAG</a></pre><pre class="programlisting">#define <a href="#SKIP_EOL">SKIP_EOL</a></pre><pre class="programlisting">#define <a href="#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a></pre><pre class="programlisting">#define <a href="#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a></pre><pre class="programlisting">#define <a href="#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a></pre><pre class="programlisting">#define <a href="#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a></pre><pre class="programlisting">#define <a href="#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a></pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> <a href="#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a> (const char * filename, <br /> const char * encoding)</pre> + </style><title>Module parserInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module parserInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-parser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-parser.html">parser</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-pattern.html">pattern</a></th><td><a accesskey="n" href="libxml-pattern.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module exports a number of internal parsing routines they are not really all intended for applications but can prove useful doing low level processing. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a></pre><pre class="programlisting">#define <a href="#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a></pre><pre class="programlisting">#define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a></pre><pre class="programlisting">#define <a href="#IS_BASECHAR">IS_BASECHAR</a></pre><pre class="programlisting">#define <a href="#IS_BLANK">IS_BLANK</a></pre><pre class="programlisting">#define <a href="#IS_BLANK_CH">IS_BLANK_CH</a></pre><pre class="programlisting">#define <a href="#IS_BYTE_CHAR">IS_BYTE_CHAR</a></pre><pre class="programlisting">#define <a href="#IS_CHAR">IS_CHAR</a></pre><pre class="programlisting">#define <a href="#IS_CHAR_CH">IS_CHAR_CH</a></pre><pre class="programlisting">#define <a href="#IS_COMBINING">IS_COMBINING</a></pre><pre class="programlisting">#define <a href="#IS_COMBINING_CH">IS_COMBINING_CH</a></pre><pre class="programlisting">#define <a href="#IS_DIGIT">IS_DIGIT</a></pre><pre class="programlisting">#define <a href="#IS_DIGIT_CH">IS_DIGIT_CH</a></pre><pre class="programlisting">#define <a href="#IS_EXTENDER">IS_EXTENDER</a></pre><pre class="programlisting">#define <a href="#IS_EXTENDER_CH">IS_EXTENDER_CH</a></pre><pre class="programlisting">#define <a href="#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a></pre><pre class="programlisting">#define <a href="#IS_LETTER">IS_LETTER</a></pre><pre class="programlisting">#define <a href="#IS_LETTER_CH">IS_LETTER_CH</a></pre><pre class="programlisting">#define <a href="#IS_PUBIDCHAR">IS_PUBIDCHAR</a></pre><pre class="programlisting">#define <a href="#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a></pre><pre class="programlisting">#define <a href="#MOVETO_ENDTAG">MOVETO_ENDTAG</a></pre><pre class="programlisting">#define <a href="#MOVETO_STARTTAG">MOVETO_STARTTAG</a></pre><pre class="programlisting">#define <a href="#SKIP_EOL">SKIP_EOL</a></pre><pre class="programlisting">#define <a href="#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a></pre><pre class="programlisting">#define <a href="#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a></pre><pre class="programlisting">#define <a href="#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a></pre><pre class="programlisting">#define <a href="#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a></pre><pre class="programlisting">#define <a href="#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a></pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> <a href="#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a> (const char * filename, <br /> const char * encoding)</pre> <pre class="programlisting">void <a href="#htmlInitAutoClose">htmlInitAutoClose</a> (void)</pre> <pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#inputPop">inputPop</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre> <pre class="programlisting">int <a href="#inputPush">inputPush</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br /> <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value)</pre> @@ -130,7 +130,7 @@ void <a href="#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> (<a href="lib <h3><a name="XML_MAX_DICTIONARY_LIMIT" id="XML_MAX_DICTIONARY_LIMIT"></a>Macro: XML_MAX_DICTIONARY_LIMIT</h3><pre>#define XML_MAX_DICTIONARY_LIMIT</pre><p>Maximum size allowed by the parser for a dictionary by default This is not a limitation of the parser but a safety boundary feature, use <a href="libxml-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Introduced in 2.9.0</p> <h3><a name="XML_MAX_LOOKUP_LIMIT" id="XML_MAX_LOOKUP_LIMIT"></a>Macro: XML_MAX_LOOKUP_LIMIT</h3><pre>#define XML_MAX_LOOKUP_LIMIT</pre><p>Maximum size allowed by the parser for ahead lookup This is an upper boundary enforced by the parser to avoid bad behaviour on "unfriendly' content Introduced in 2.9.0</p> <h3><a name="XML_MAX_NAMELEN" id="XML_MAX_NAMELEN"></a>Macro: XML_MAX_NAMELEN</h3><pre>#define XML_MAX_NAMELEN</pre><p>Identifiers can be longer, but this will be more costly at runtime.</p> -<h3><a name="XML_MAX_NAME_LENGTH" id="XML_MAX_NAME_LENGTH"></a>Macro: XML_MAX_NAME_LENGTH</h3><pre>#define XML_MAX_NAME_LENGTH</pre><p>Maximum size allowed for a markup identitier This is not a limitation of the parser but a safety boundary feature, use <a href="libxml-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Note that with the use of parsing dictionaries overriding the limit may result in more runtime memory usage in face of "unfriendly' content Introduced in 2.9.0</p> +<h3><a name="XML_MAX_NAME_LENGTH" id="XML_MAX_NAME_LENGTH"></a>Macro: XML_MAX_NAME_LENGTH</h3><pre>#define XML_MAX_NAME_LENGTH</pre><p>Maximum size allowed for a markup identifier. This is not a limitation of the parser but a safety boundary feature, use <a href="libxml-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Note that with the use of parsing dictionaries overriding the limit may result in more runtime memory usage in face of "unfriendly' content Introduced in 2.9.0</p> <h3><a name="XML_MAX_TEXT_LENGTH" id="XML_MAX_TEXT_LENGTH"></a>Macro: XML_MAX_TEXT_LENGTH</h3><pre>#define XML_MAX_TEXT_LENGTH</pre><p>Maximum size allowed for a single text node when building a tree. This is not a limitation of the parser but a safety boundary feature, use <a href="libxml-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Introduced in 2.9.0</p> <h3><a name="XML_SUBSTITUTE_BOTH" id="XML_SUBSTITUTE_BOTH"></a>Macro: XML_SUBSTITUTE_BOTH</h3><pre>#define XML_SUBSTITUTE_BOTH</pre><p>Both general and parameter entities need to be substituted.</p> <h3><a name="XML_SUBSTITUTE_NONE" id="XML_SUBSTITUTE_NONE"></a>Macro: XML_SUBSTITUTE_NONE</h3><pre>#define XML_SUBSTITUTE_NONE</pre><p>If no entities need to be substituted.</p> @@ -153,7 +153,7 @@ void <a href="#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> (<a href="lib <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the node just removed</td></tr></tbody></table></div><h3><a name="nodePush" id="nodePush"></a>Function: nodePush</h3><pre class="programlisting">int nodePush (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br /> <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> value)<br /> </pre><p>Pushes a new element node on top of the node stack</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the element node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, the index in the stack otherwise</td></tr></tbody></table></div><h3><a name="xmlCheckLanguageID" id="xmlCheckLanguageID"></a>Function: xmlCheckLanguageID</h3><pre class="programlisting">int xmlCheckLanguageID (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * lang)<br /> -</pre><p>Checks that the value conforms to the LanguageID production: NOTE: this is somewhat deprecated, those productions were removed from the XML Second edition. [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::= ISO639Code | IanaCode | UserCode [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ The current REC <a href="libxml-SAX.html#reference">reference</a> the sucessors of RFC 1766, currently 5646 http://www.rfc-editor.org/rfc/rfc5646.txt langtag = language ["-" script] ["-" region] *("-" variant) *("-" extension) ["-" privateuse] language = 2*3ALPHA ; shortest ISO 639 code ["-" extlang] ; sometimes followed by ; extended language subtags / 4ALPHA ; or reserved for future use / 5*8ALPHA ; or registered language subtag extlang = 3ALPHA ; selected ISO 639 codes *2("-" 3ALPHA) ; permanently reserved script = 4ALPHA ; ISO 15924 code region = 2ALPHA ; ISO 3166-1 code / 3DIGIT ; UN M.49 code variant = 5*8alphanum ; registered variants / (DIGIT 3alphanum) extension = singleton 1*("-" (2*8alphanum)) ; Single alphanumerics ; "x" reserved for private use singleton = DIGIT ; 0 - 9 / %x41-57 ; A - W / %x59-5A ; Y - Z / %x61-77 ; a - w / %x79-7A ; y - z it sounds right to still allow Irregular i-xxx IANA and user codes too The parser below doesn't try to cope with extension or privateuse that could be added but that's not interoperable anyway</p> +</pre><p>Checks that the value conforms to the LanguageID production: NOTE: this is somewhat deprecated, those productions were removed from the XML Second edition. [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::= ISO639Code | IanaCode | UserCode [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ The current REC <a href="libxml-SAX.html#reference">reference</a> the successors of RFC 1766, currently 5646 http://www.rfc-editor.org/rfc/rfc5646.txt langtag = language ["-" script] ["-" region] *("-" variant) *("-" extension) ["-" privateuse] language = 2*3ALPHA ; shortest ISO 639 code ["-" extlang] ; sometimes followed by ; extended language subtags / 4ALPHA ; or reserved for future use / 5*8ALPHA ; or registered language subtag extlang = 3ALPHA ; selected ISO 639 codes *2("-" 3ALPHA) ; permanently reserved script = 4ALPHA ; ISO 15924 code region = 2ALPHA ; ISO 3166-1 code / 3DIGIT ; UN M.49 code variant = 5*8alphanum ; registered variants / (DIGIT 3alphanum) extension = singleton 1*("-" (2*8alphanum)) ; Single alphanumerics ; "x" reserved for private use singleton = DIGIT ; 0 - 9 / %x41-57 ; A - W / %x59-5A ; Y - Z / %x61-77 ; a - w / %x79-7A ; y - z it sounds right to still allow Irregular i-xxx IANA and user codes too The parser below doesn't try to cope with extension or privateuse that could be added but that's not interoperable anyway</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>lang</tt></i>:</span></td><td>pointer to the string value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if correct 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlCopyChar" id="xmlCopyChar"></a>Function: xmlCopyChar</h3><pre class="programlisting">int xmlCopyChar (int len, <br /> <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * out, <br /> int val)<br /> </pre><p>append the char value in the array</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>Ignored, compatibility</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>pointer to an array of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the char value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> written</td></tr></tbody></table></div><h3><a name="xmlCopyCharMultiByte" id="xmlCopyCharMultiByte"></a>Function: xmlCopyCharMultiByte</h3><pre class="programlisting">int xmlCopyCharMultiByte (<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * out, <br /> int val)<br /> @@ -220,7 +220,7 @@ void xmlEntityReferenceFunc (<a href="libxml-tree.html#xmlEntityPtr">xmlEntityP <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>Receive a possible fixed default value for the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, <a href="libxml-tree.html#XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a> or XML_ATTRIBUTE_FIXED.</td></tr></tbody></table></div><h3><a name="xmlParseDocTypeDecl" id="xmlParseDocTypeDecl"></a>Function: xmlParseDocTypeDecl</h3><pre class="programlisting">void xmlParseDocTypeDecl (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br /> </pre><p>parse a DOCTYPE declaration [28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S? ('[' (markupdecl | PEReference | S)* ']' S?)? '>' [ VC: Root Element Type ] The Name in the document type declaration must match the element type of the root element.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseElement" id="xmlParseElement"></a>Function: xmlParseElement</h3><pre class="programlisting">void xmlParseElement (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br /> -</pre><p>parse an XML element, this is highly recursive [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] The Name in an element's end-tag must match the element type in the start-tag.</p> +</pre><p>parse an XML element [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] The Name in an element's end-tag must match the element type in the start-tag.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseElementChildrenContentDecl" id="xmlParseElementChildrenContentDecl"></a>Function: xmlParseElementChildrenContentDecl</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> xmlParseElementChildrenContentDecl (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br /> int inputchk)<br /> </pre><p>parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in <a href="libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> [47] children ::= (choice | seq) ('?' | '*' | '+')? [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')? [49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')' [50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')' [ VC: Proper Group/PE Nesting ] applies to [49] and [50] TODO Parameter-entity replacement text must be properly nested with parenthesized groups. That is to say, if either of the opening or closing parentheses in a choice, seq, or Mixed construct is contained in the replacement text for a parameter entity, both must be contained in the same replacement text. For interoperability, if a parameter-entity <a href="libxml-SAX.html#reference">reference</a> appears in a choice, seq, or Mixed construct, its replacement text should not be empty, and neither the first nor last non-blank character of the replacement text should be a connector (| or ,).</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>inputchk</tt></i>:</span></td><td>the input used for the current entity, needed for boundary checks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the tree of <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> describing the element hierarchy.</td></tr></tbody></table></div><h3><a name="xmlParseElementContentDecl" id="xmlParseElementContentDecl"></a>Function: xmlParseElementContentDecl</h3><pre class="programlisting">int xmlParseElementContentDecl (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br /> <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> * result)<br /> @@ -266,7 +266,7 @@ void xmlEntityReferenceFunc (<a href="libxml-tree.html#xmlEntityPtr">xmlEntityP <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the notation <a href="libxml-SAX.html#attribute">attribute</a> tree built while parsing</td></tr></tbody></table></div><h3><a name="xmlParsePEReference" id="xmlParsePEReference"></a>Function: xmlParsePEReference</h3><pre class="programlisting">void xmlParsePEReference (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br /> </pre><p>parse PEReference declarations The entity content is handled directly by pushing it's content as a new input stream. [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive <a href="libxml-SAX.html#reference">reference</a> to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any <a href="libxml-SAX.html#reference">reference</a> to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any <a href="libxml-SAX.html#reference">reference</a> to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParsePI" id="xmlParsePI"></a>Function: xmlParsePI</h3><pre class="programlisting">void xmlParsePI (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br /> -</pre><p>parse an XML Processing Instruction. [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>' The processing is transfered to SAX once parsed.</p> +</pre><p>parse an XML Processing Instruction. [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>' The processing is transferred to SAX once parsed.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParsePITarget" id="xmlParsePITarget"></a>Function: xmlParsePITarget</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlParsePITarget (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br /> </pre><p>parse the name of a PI [17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the PITarget name or NULL</td></tr></tbody></table></div><h3><a name="xmlParsePubidLiteral" id="xmlParsePubidLiteral"></a>Function: xmlParsePubidLiteral</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlParsePubidLiteral (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br /> diff --git a/doc/html/libxml-pattern.html b/doc/html/libxml-pattern.html index cd2789b1..e75108a3 100644 --- a/doc/html/libxml-pattern.html +++ b/doc/html/libxml-pattern.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module pattern from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module pattern from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-parserInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-parserInternals.html">parserInternals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-relaxng.html">relaxng</a></th><td><a accesskey="n" href="libxml-relaxng.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>allows to compile and test pattern expressions for nodes either in a tree or based on a parser state. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlPattern">xmlPattern</a><br />struct _xmlPattern + </style><title>Module pattern from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module pattern from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-parserInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-parserInternals.html">parserInternals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-relaxng.html">relaxng</a></th><td><a accesskey="n" href="libxml-relaxng.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>allows to compile and test pattern expressions for nodes either in a tree or based on a parser state. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlPattern">xmlPattern</a><br />struct _xmlPattern The content of this structure is not made public by the API. </pre><pre class="programlisting">Enum <a href="#xmlPatternFlags">xmlPatternFlags</a> </pre><pre class="programlisting">Typedef <a href="libxml-pattern.html#xmlPattern">xmlPattern</a> * <a name="xmlPatternPtr" id="xmlPatternPtr">xmlPatternPtr</a> diff --git a/doc/html/libxml-relaxng.html b/doc/html/libxml-relaxng.html index 1ec31923..28341106 100644 --- a/doc/html/libxml-relaxng.html +++ b/doc/html/libxml-relaxng.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module relaxng from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module relaxng from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-pattern.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-pattern.html">pattern</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-schemasInternals.html">schemasInternals</a></th><td><a accesskey="n" href="libxml-schemasInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>implementation of the Relax-NG validation </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlRelaxNG">xmlRelaxNG</a><br />struct _xmlRelaxNG + </style><title>Module relaxng from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module relaxng from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-pattern.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-pattern.html">pattern</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-schemasInternals.html">schemasInternals</a></th><td><a accesskey="n" href="libxml-schemasInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>implementation of the Relax-NG validation </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlRelaxNG">xmlRelaxNG</a><br />struct _xmlRelaxNG The content of this structure is not made public by the API. </pre><pre class="programlisting">Structure <a href="#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a><br />struct _xmlRelaxNGParserCtxt The content of this structure is not made public by the API. @@ -122,7 +122,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error callback result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 otherwise.</td></tr></tbody></table></div><h3><a name="xmlRelaxNGGetValidErrors" id="xmlRelaxNGGetValidErrors"></a>Function: xmlRelaxNGGetValidErrors</h3><pre class="programlisting">int xmlRelaxNGGetValidErrors (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br /> <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br /> <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br /> void ** ctx)<br /> </pre><p>Get the error and warning callback informations</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlRelaxNGInitTypes" id="xmlRelaxNGInitTypes"></a>Function: xmlRelaxNGInitTypes</h3><pre class="programlisting">int xmlRelaxNGInitTypes (void)<br /> -</pre><p>Initilize the default type libraries.</p> +</pre><p>Initialize the default type libraries.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlRelaxNGNewDocParserCtxt" id="xmlRelaxNGNewDocParserCtxt"></a>Function: xmlRelaxNGNewDocParserCtxt</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> xmlRelaxNGNewDocParserCtxt (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br /> </pre><p>Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a RelaxNG schemas modifies the document, the @doc parameter is duplicated internally.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlRelaxNGNewMemParserCtxt" id="xmlRelaxNGNewMemParserCtxt"></a>Function: xmlRelaxNGNewMemParserCtxt</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> xmlRelaxNGNewMemParserCtxt (const char * buffer, <br /> int size)<br /> @@ -132,7 +132,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the location of the schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlRelaxNGNewValidCtxt" id="xmlRelaxNGNewValidCtxt"></a>Function: xmlRelaxNGNewValidCtxt</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> xmlRelaxNGNewValidCtxt (<a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br /> </pre><p>Create an XML RelaxNGs validation context based on the given schema</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML RelaxNGs</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlRelaxNGParse" id="xmlRelaxNGParse"></a>Function: xmlRelaxNGParse</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> xmlRelaxNGParse (<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br /> -</pre><p>parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.</p> +</pre><p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal XML RelaxNG structure built from the resource or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlRelaxNGSetParserErrors" id="xmlRelaxNGSetParserErrors"></a>Function: xmlRelaxNGSetParserErrors</h3><pre class="programlisting">void xmlRelaxNGSetParserErrors (<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br /> <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br /> <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br /> void * ctx)<br /> </pre><p>Set the callback functions used to handle errors for a validation context</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error callback</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks</td></tr></tbody></table></div><h3><a name="xmlRelaxNGSetParserStructuredErrors" id="xmlRelaxNGSetParserStructuredErrors"></a>Function: xmlRelaxNGSetParserStructuredErrors</h3><pre class="programlisting">void xmlRelaxNGSetParserStructuredErrors (<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br /> <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br /> void * ctx)<br /> diff --git a/doc/html/libxml-schemasInternals.html b/doc/html/libxml-schemasInternals.html index 954f0d2e..766811eb 100644 --- a/doc/html/libxml-schemasInternals.html +++ b/doc/html/libxml-schemasInternals.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module schemasInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module schemasInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-relaxng.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-relaxng.html">relaxng</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-schematron.html">schematron</a></th><td><a accesskey="n" href="libxml-schematron.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is a Work In Progress. Some of those interfaces are not guaranteed to be API or ABI stable ! </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a></pre><pre class="programlisting">Structure <a href="#xmlSchemaAnnot">xmlSchemaAnnot</a><br />struct _xmlSchemaAnnot + </style><title>Module schemasInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module schemasInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-relaxng.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-relaxng.html">relaxng</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-schematron.html">schematron</a></th><td><a accesskey="n" href="libxml-schematron.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is a Work In Progress. Some of those interfaces are not guaranteed to be API or ABI stable ! </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a></pre><pre class="programlisting">Structure <a href="#xmlSchemaAnnot">xmlSchemaAnnot</a><br />struct _xmlSchemaAnnot </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a> * <a name="xmlSchemaAnnotPtr" id="xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a> </pre><pre class="programlisting">Structure <a href="#xmlSchemaAttribute">xmlSchemaAttribute</a><br />struct _xmlSchemaAttribute </pre><pre class="programlisting">Structure <a href="#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a><br />struct _xmlSchemaAttributeGroup @@ -49,11 +49,11 @@ The content of this structure is not made public by the API. <h3><a name="XML_SCHEMAS_ANY_LAX" id="XML_SCHEMAS_ANY_LAX"></a>Macro: XML_SCHEMAS_ANY_LAX</h3><pre>#define XML_SCHEMAS_ANY_LAX</pre><p>Used by wildcards. Validate if type found, don't worry if not found</p> <h3><a name="XML_SCHEMAS_ANY_SKIP" id="XML_SCHEMAS_ANY_SKIP"></a>Macro: XML_SCHEMAS_ANY_SKIP</h3><pre>#define XML_SCHEMAS_ANY_SKIP</pre><p>Skip unknown <a href="libxml-SAX.html#attribute">attribute</a> from validation</p> <h3><a name="XML_SCHEMAS_ANY_STRICT" id="XML_SCHEMAS_ANY_STRICT"></a>Macro: XML_SCHEMAS_ANY_STRICT</h3><pre>#define XML_SCHEMAS_ANY_STRICT</pre><p>Used by wildcards. Apply strict validation rules</p> -<h3><a name="XML_SCHEMAS_ATTRGROUP_GLOBAL" id="XML_SCHEMAS_ATTRGROUP_GLOBAL"></a>Macro: XML_SCHEMAS_ATTRGROUP_GLOBAL</h3><pre>#define XML_SCHEMAS_ATTRGROUP_GLOBAL</pre><p>The <a href="libxml-SAX.html#attribute">attribute</a> wildcard has been already builded.</p> +<h3><a name="XML_SCHEMAS_ATTRGROUP_GLOBAL" id="XML_SCHEMAS_ATTRGROUP_GLOBAL"></a>Macro: XML_SCHEMAS_ATTRGROUP_GLOBAL</h3><pre>#define XML_SCHEMAS_ATTRGROUP_GLOBAL</pre><p>The <a href="libxml-SAX.html#attribute">attribute</a> group has been defined.</p> <h3><a name="XML_SCHEMAS_ATTRGROUP_HAS_REFS" id="XML_SCHEMAS_ATTRGROUP_HAS_REFS"></a>Macro: XML_SCHEMAS_ATTRGROUP_HAS_REFS</h3><pre>#define XML_SCHEMAS_ATTRGROUP_HAS_REFS</pre><p>Whether this attr. group contains attr. group references.</p> <h3><a name="XML_SCHEMAS_ATTRGROUP_MARKED" id="XML_SCHEMAS_ATTRGROUP_MARKED"></a>Macro: XML_SCHEMAS_ATTRGROUP_MARKED</h3><pre>#define XML_SCHEMAS_ATTRGROUP_MARKED</pre><p>Marks the attr group as marked; used for circular checks.</p> <h3><a name="XML_SCHEMAS_ATTRGROUP_REDEFINED" id="XML_SCHEMAS_ATTRGROUP_REDEFINED"></a>Macro: XML_SCHEMAS_ATTRGROUP_REDEFINED</h3><pre>#define XML_SCHEMAS_ATTRGROUP_REDEFINED</pre><p>The attr group was redefined.</p> -<h3><a name="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED" id="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED"></a>Macro: XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</h3><pre>#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</pre><p>The <a href="libxml-SAX.html#attribute">attribute</a> wildcard has been already builded.</p> +<h3><a name="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED" id="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED"></a>Macro: XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</h3><pre>#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</pre><p>The <a href="libxml-SAX.html#attribute">attribute</a> wildcard has been built.</p> <h3><a name="XML_SCHEMAS_ATTR_FIXED" id="XML_SCHEMAS_ATTR_FIXED"></a>Macro: XML_SCHEMAS_ATTR_FIXED</h3><pre>#define XML_SCHEMAS_ATTR_FIXED</pre><p>the <a href="libxml-SAX.html#attribute">attribute</a> has a fixed value</p> <h3><a name="XML_SCHEMAS_ATTR_GLOBAL" id="XML_SCHEMAS_ATTR_GLOBAL"></a>Macro: XML_SCHEMAS_ATTR_GLOBAL</h3><pre>#define XML_SCHEMAS_ATTR_GLOBAL</pre><p>allow elements in no namespace</p> <h3><a name="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED" id="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED"></a>Macro: XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</h3><pre>#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</pre><p>this is set when the "type" and "ref" references have been resolved.</p> @@ -68,7 +68,7 @@ The content of this structure is not made public by the API. <h3><a name="XML_SCHEMAS_ELEM_BLOCK_ABSENT" id="XML_SCHEMAS_ELEM_BLOCK_ABSENT"></a>Macro: XML_SCHEMAS_ELEM_BLOCK_ABSENT</h3><pre>#define XML_SCHEMAS_ELEM_BLOCK_ABSENT</pre><p>the "block" <a href="libxml-SAX.html#attribute">attribute</a> is absent</p> <h3><a name="XML_SCHEMAS_ELEM_BLOCK_EXTENSION" id="XML_SCHEMAS_ELEM_BLOCK_EXTENSION"></a>Macro: XML_SCHEMAS_ELEM_BLOCK_EXTENSION</h3><pre>#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION</pre><p>disallowed substitutions are absent</p> <h3><a name="XML_SCHEMAS_ELEM_BLOCK_RESTRICTION" id="XML_SCHEMAS_ELEM_BLOCK_RESTRICTION"></a>Macro: XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</h3><pre>#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</pre><p>disallowed substitutions: "restriction"</p> -<h3><a name="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION" id="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION"></a>Macro: XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</h3><pre>#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</pre><p>disallowed substitutions: "substituion"</p> +<h3><a name="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION" id="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION"></a>Macro: XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</h3><pre>#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</pre><p>disallowed substitutions: "substitution"</p> <h3><a name="XML_SCHEMAS_ELEM_CIRCULAR" id="XML_SCHEMAS_ELEM_CIRCULAR"></a>Macro: XML_SCHEMAS_ELEM_CIRCULAR</h3><pre>#define XML_SCHEMAS_ELEM_CIRCULAR</pre><p>a helper flag for the search of circular references.</p> <h3><a name="XML_SCHEMAS_ELEM_DEFAULT" id="XML_SCHEMAS_ELEM_DEFAULT"></a>Macro: XML_SCHEMAS_ELEM_DEFAULT</h3><pre>#define XML_SCHEMAS_ELEM_DEFAULT</pre><p>the element has a default value</p> <h3><a name="XML_SCHEMAS_ELEM_FINAL_ABSENT" id="XML_SCHEMAS_ELEM_FINAL_ABSENT"></a>Macro: XML_SCHEMAS_ELEM_FINAL_ABSENT</h3><pre>#define XML_SCHEMAS_ELEM_FINAL_ABSENT</pre><p>substitution group exclusions are absent</p> @@ -88,7 +88,7 @@ The content of this structure is not made public by the API. <h3><a name="XML_SCHEMAS_FACET_REPLACE" id="XML_SCHEMAS_FACET_REPLACE"></a>Macro: XML_SCHEMAS_FACET_REPLACE</h3><pre>#define XML_SCHEMAS_FACET_REPLACE</pre><p>replace the type of the facet</p> <h3><a name="XML_SCHEMAS_FACET_UNKNOWN" id="XML_SCHEMAS_FACET_UNKNOWN"></a>Macro: XML_SCHEMAS_FACET_UNKNOWN</h3><pre>#define XML_SCHEMAS_FACET_UNKNOWN</pre><p>unknown facet handling</p> <h3><a name="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION" id="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</pre><p>the schema has "extension" in the set of finalDefault.</p> -<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_LIST" id="XML_SCHEMAS_FINAL_DEFAULT_LIST"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_LIST</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_LIST</pre><p>the cshema has "list" in the set of finalDefault.</p> +<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_LIST" id="XML_SCHEMAS_FINAL_DEFAULT_LIST"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_LIST</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_LIST</pre><p>the schema has "list" in the set of finalDefault.</p> <h3><a name="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION" id="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</pre><p>the schema has "restriction" in the set of finalDefault.</p> <h3><a name="XML_SCHEMAS_FINAL_DEFAULT_UNION" id="XML_SCHEMAS_FINAL_DEFAULT_UNION"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_UNION</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_UNION</pre><p>the schema has "union" in the set of finalDefault.</p> <h3><a name="XML_SCHEMAS_INCLUDING_CONVERT_NS" id="XML_SCHEMAS_INCLUDING_CONVERT_NS"></a>Macro: XML_SCHEMAS_INCLUDING_CONVERT_NS</h3><pre>#define XML_SCHEMAS_INCLUDING_CONVERT_NS</pre><p>the schema is currently including an other schema with no target namespace.</p> @@ -202,7 +202,7 @@ The content of this structure is not made public by the API. <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> contModel : Obsolete for WXS, maybe used for RelaxN <a href="libxml-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a> contentType const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * refPrefix : Deprecated; not used - <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> defVal : The compiled value contraint. + <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> defVal : The compiled value constraint. void * idcs : The identity-constraint defs }</pre><h3><a name="xmlSchemaFacet" id="xmlSchemaFacet">Structure xmlSchemaFacet</a></h3><pre class="programlisting">Structure xmlSchemaFacet<br />struct _xmlSchemaFacet { <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a> type : The kind of type diff --git a/doc/html/libxml-schematron.html b/doc/html/libxml-schematron.html index 1620fa79..f3a834b3 100644 --- a/doc/html/libxml-schematron.html +++ b/doc/html/libxml-schematron.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module schematron from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module schematron from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-schemasInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-schemasInternals.html">schemasInternals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-threads.html">threads</a></th><td><a accesskey="n" href="libxml-threads.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface to the XML Schematron validity checking. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlSchematron">xmlSchematron</a><br />struct _xmlSchematron + </style><title>Module schematron from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module schematron from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-schemasInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-schemasInternals.html">schemasInternals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-threads.html">threads</a></th><td><a accesskey="n" href="libxml-threads.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface to the XML Schematron validity checking. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlSchematron">xmlSchematron</a><br />struct _xmlSchematron The content of this structure is not made public by the API. </pre><pre class="programlisting">Structure <a href="#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a><br />struct _xmlSchematronParserCtxt The content of this structure is not made public by the API. @@ -67,12 +67,12 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the location of the schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchematronNewValidCtxt" id="xmlSchematronNewValidCtxt"></a>Function: xmlSchematronNewValidCtxt</h3><pre class="programlisting"><a href="libxml-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> xmlSchematronNewValidCtxt (<a href="libxml-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema, <br /> int options)<br /> </pre><p>Create an XML Schematrons validation context based on the given schema.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML Schematrons</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a set of <a href="libxml-schematron.html#xmlSchematronValidOptions">xmlSchematronValidOptions</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchematronParse" id="xmlSchematronParse"></a>Function: xmlSchematronParse</h3><pre class="programlisting"><a href="libxml-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> xmlSchematronParse (<a href="libxml-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br /> -</pre><p>parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.</p> +</pre><p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal XML Schematron structure built from the resource or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchematronSetValidStructuredErrors" id="xmlSchematronSetValidStructuredErrors"></a>Function: xmlSchematronSetValidStructuredErrors</h3><pre class="programlisting">void xmlSchematronSetValidStructuredErrors (<a href="libxml-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br /> <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br /> void * ctx)<br /> </pre><p>Set the structured error callback</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Schematron validation context</td></tr><tr><td><span class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div><h3><a name="xmlSchematronValidateDoc" id="xmlSchematronValidateDoc"></a>Function: xmlSchematronValidateDoc</h3><pre class="programlisting">int xmlSchematronValidateDoc (<a href="libxml-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> instance)<br /> </pre><p>Validate a tree instance against the schematron</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr><tr><td><span class="term"><i><tt>instance</tt></i>:</span></td><td>the document instace tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of internal error and an error count otherwise.</td></tr></tbody></table></div><h3><a name="xmlSchematronValidityErrorFunc" id="xmlSchematronValidityErrorFunc"></a>Function type: xmlSchematronValidityErrorFunc</h3><pre class="programlisting">Function type: xmlSchematronValidityErrorFunc +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr><tr><td><span class="term"><i><tt>instance</tt></i>:</span></td><td>the document instance tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of internal error and an error count otherwise.</td></tr></tbody></table></div><h3><a name="xmlSchematronValidityErrorFunc" id="xmlSchematronValidityErrorFunc"></a>Function type: xmlSchematronValidityErrorFunc</h3><pre class="programlisting">Function type: xmlSchematronValidityErrorFunc void xmlSchematronValidityErrorFunc (void * ctx, <br /> const char * msg, <br /> ... ...) </pre><p>Signature of an error callback from a Schematron validation</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div><br /> <h3><a name="xmlSchematronValidityWarningFunc" id="xmlSchematronValidityWarningFunc"></a>Function type: xmlSchematronValidityWarningFunc</h3><pre class="programlisting">Function type: xmlSchematronValidityWarningFunc diff --git a/doc/html/libxml-threads.html b/doc/html/libxml-threads.html index 3c1d1ec8..5837a785 100644 --- a/doc/html/libxml-threads.html +++ b/doc/html/libxml-threads.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module threads from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module threads from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-schematron.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-schematron.html">schematron</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-tree.html">tree</a></th><td><a accesskey="n" href="libxml-tree.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>set of generic threading related routines should work with pthreads, Windows native or TLS threads </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlMutex">xmlMutex</a><br />struct _xmlMutex + </style><title>Module threads from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module threads from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-schematron.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-schematron.html">schematron</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-tree.html">tree</a></th><td><a accesskey="n" href="libxml-tree.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>set of generic threading related routines should work with pthreads, Windows native or TLS threads </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlMutex">xmlMutex</a><br />struct _xmlMutex The content of this structure is not made public by the API. </pre><pre class="programlisting">Typedef <a href="libxml-threads.html#xmlMutex">xmlMutex</a> * <a name="xmlMutexPtr" id="xmlMutexPtr">xmlMutexPtr</a> </pre><pre class="programlisting">Structure <a href="#xmlRMutex">xmlRMutex</a><br />struct _xmlRMutex diff --git a/doc/html/libxml-tree.html b/doc/html/libxml-tree.html index 09e7bdcd..e78af7b1 100644 --- a/doc/html/libxml-tree.html +++ b/doc/html/libxml-tree.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module tree from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module tree from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-threads.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-threads.html">threads</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-uri.html">uri</a></th><td><a accesskey="n" href="libxml-uri.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a></pre><pre class="programlisting">#define <a href="#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a></pre><pre class="programlisting">#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a></pre><pre class="programlisting">#define <a href="#XML_GET_LINE">XML_GET_LINE</a></pre><pre class="programlisting">#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#XML_XML_ID">XML_XML_ID</a></pre><pre class="programlisting">#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#xmlChildrenNode">xmlChildrenNode</a></pre><pre class="programlisting">#define <a href="#xmlRootNode">xmlRootNode</a></pre><pre class="programlisting">Structure <a href="#xmlAttr">xmlAttr</a><br />struct _xmlAttr + </style><title>Module tree from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module tree from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-threads.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-threads.html">threads</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-uri.html">uri</a></th><td><a accesskey="n" href="libxml-uri.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a></pre><pre class="programlisting">#define <a href="#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a></pre><pre class="programlisting">#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a></pre><pre class="programlisting">#define <a href="#XML_GET_LINE">XML_GET_LINE</a></pre><pre class="programlisting">#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#XML_XML_ID">XML_XML_ID</a></pre><pre class="programlisting">#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#xmlChildrenNode">xmlChildrenNode</a></pre><pre class="programlisting">#define <a href="#xmlRootNode">xmlRootNode</a></pre><pre class="programlisting">Structure <a href="#xmlAttr">xmlAttr</a><br />struct _xmlAttr </pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlAttr">xmlAttr</a> * <a name="xmlAttrPtr" id="xmlAttrPtr">xmlAttrPtr</a> </pre><pre class="programlisting">Structure <a href="#xmlAttribute">xmlAttribute</a><br />struct _xmlAttribute </pre><pre class="programlisting">Enum <a href="#xmlAttributeDefault">xmlAttributeDefault</a> @@ -332,7 +332,7 @@ The content of this structure is not made public by the API. void * ids : Hash table for ID attributes if any void * refs : Hash table for IDREFs attributes if any const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URL : The URI for that document - int charset : encoding of the in-memory content actua + int charset : Internal flag for charset handling, act struct _xmlDict * dict : dict used to allocate names or NULL void * psvi : for type/PSVI informations int parseFlags : set of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a> used to parse th @@ -570,8 +570,8 @@ The content of this structure is not made public by the API. void * * pushTab : array of data for push <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> attsDefault : defaulted attributes if any <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> attsSpecial : non-CDATA attributes if any - int nsWellFormed : is the document XML Nanespace okay - int options : * Those fields are needed only for tream + int nsWellFormed : is the document XML Namespace okay + int options : * Those fields are needed only for strea int dictNames : Use dictionary names for the tree int freeElemsNr : number of freed element nodes <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> freeElems : List of freed element nodes @@ -893,7 +893,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being modified</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>extra content</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the size of @content</td></tr></tbody></table></div><h3><a name="xmlNodeBufGetContent" id="xmlNodeBufGetContent"></a>Function: xmlNodeBufGetContent</h3><pre class="programlisting">int xmlNodeBufGetContent (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br /> const <a href="libxml-tree.html#xmlNode">xmlNode</a> * cur)<br /> </pre><p>Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. Fills up the buffer @buffer with this value</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the node being read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlNodeDump" id="xmlNodeDump"></a>Function: xmlNodeDump</h3><pre class="programlisting">int xmlNodeDump (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br /> <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br /> int level, <br /> int format)<br /> -</pre><p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called Since this is using <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> structures it is limited to 2GB and somehow deprecated, use xmlBufNodeDump() instead.</p> +</pre><p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called. Since this is using <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> structures it is limited to 2GB and somehow deprecated, use xmlNodeDumpOutput() instead.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>level</tt></i>:</span></td><td>the imbrication level for indenting</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>is formatting allowed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written to the buffer or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlNodeDumpOutput" id="xmlNodeDumpOutput"></a>Function: xmlNodeDumpOutput</h3><pre class="programlisting">void xmlNodeDumpOutput (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br /> <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br /> int level, <br /> int format, <br /> const char * encoding)<br /> </pre><p>Dump an XML node, recursive behaviour, children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>level</tt></i>:</span></td><td>the imbrication level for indenting</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>is formatting allowed</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>an optional encoding string</td></tr></tbody></table></div><h3><a name="xmlNodeGetBase" id="xmlNodeGetBase"></a>Function: xmlNodeGetBase</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlNodeGetBase (const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br /> const <a href="libxml-tree.html#xmlNode">xmlNode</a> * cur)<br /> @@ -936,13 +936,13 @@ The content of this structure is not made public by the API. </pre><p>Dump an XML document, converting it to the given encoding</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename (or URL)</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the name of an encoding (or NULL)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSaveFileTo" id="xmlSaveFileTo"></a>Function: xmlSaveFileTo</h3><pre class="programlisting">int xmlSaveFileTo (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br /> const char * encoding)<br /> </pre><p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the trancoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSaveFormatFile" id="xmlSaveFormatFile"></a>Function: xmlSaveFormatFile</h3><pre class="programlisting">int xmlSaveFormatFile (const char * filename, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br /> int format)<br /> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the transcoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSaveFormatFile" id="xmlSaveFormatFile"></a>Function: xmlSaveFormatFile</h3><pre class="programlisting">int xmlSaveFormatFile (const char * filename, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br /> int format)<br /> </pre><p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used. If @format is set then the document will be indented on output. Note that @format = 1 provide node indenting only if <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename (or URL)</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSaveFormatFileEnc" id="xmlSaveFormatFileEnc"></a>Function: xmlSaveFormatFileEnc</h3><pre class="programlisting">int xmlSaveFormatFileEnc (const char * filename, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br /> const char * encoding, <br /> int format)<br /> </pre><p>Dump an XML document to a file or an URL.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URL to output</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document being saved</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the name of the encoding to use or NULL.</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces be added.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of error. Note that @format = 1 provide node indenting only if <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</td></tr></tbody></table></div><h3><a name="xmlSaveFormatFileTo" id="xmlSaveFormatFileTo"></a>Function: xmlSaveFormatFileTo</h3><pre class="programlisting">int xmlSaveFormatFileTo (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br /> <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br /> const char * encoding, <br /> int format)<br /> </pre><p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the trancoding</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSearchNs" id="xmlSearchNs"></a>Function: xmlSearchNs</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> xmlSearchNs (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br /> <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br /> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the transcoding</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSearchNs" id="xmlSearchNs"></a>Function: xmlSearchNs</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> xmlSearchNs (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br /> <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br /> </pre><p>Search a Ns registered under a given name space for a document. recurse on the parents until it finds the defined namespace or return NULL otherwise. @nameSpace can be NULL, this is a search for the default namespace. We don't allow to cross entities boundaries. If you don't declare the namespace within those you will be in troubles !!! A warning is generated to cover this case.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>:</span></td><td>the namespace prefix</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace pointer or NULL.</td></tr></tbody></table></div><h3><a name="xmlSearchNsByHref" id="xmlSearchNsByHref"></a>Function: xmlSearchNsByHref</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> xmlSearchNsByHref (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br /> <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * href)<br /> </pre><p>Search a Ns aliasing a given URI. Recurse on the parents until it finds the defined namespace or return NULL otherwise.</p> diff --git a/doc/html/libxml-uri.html b/doc/html/libxml-uri.html index 6ced67a3..01ce7b18 100644 --- a/doc/html/libxml-uri.html +++ b/doc/html/libxml-uri.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module uri from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module uri from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-tree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-tree.html">tree</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-valid.html">valid</a></th><td><a accesskey="n" href="libxml-valid.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>library of generic URI related routines Implements RFC 2396 </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlURI">xmlURI</a><br />struct _xmlURI + </style><title>Module uri from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module uri from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-tree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-tree.html">tree</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-valid.html">valid</a></th><td><a accesskey="n" href="libxml-valid.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>library of generic URI related routines Implements RFC 2396 </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlURI">xmlURI</a><br />struct _xmlURI </pre><pre class="programlisting">Typedef <a href="libxml-uri.html#xmlURI">xmlURI</a> * <a name="xmlURIPtr" id="xmlURIPtr">xmlURIPtr</a> </pre><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlBuildRelativeURI">xmlBuildRelativeURI</a> (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * base)</pre> <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlBuildURI">xmlBuildURI</a> (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * base)</pre> @@ -41,7 +41,7 @@ A:link, A:visited, A:active { text-decoration: underline } int cleanup : parsing potentially unclean URI char * query_raw : the query string (as it appears in the }</pre><h3><a name="xmlBuildRelativeURI" id="xmlBuildRelativeURI"></a>Function: xmlBuildRelativeURI</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlBuildRelativeURI (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * base)<br /> -</pre><p>Expresses the URI of the <a href="libxml-SAX.html#reference">reference</a> in terms relative to the base. Some examples of this operation include: base = "http://site1.com/docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif pic1.gif http://site2.com/docs/pic1.gif http://site2.com/docs/pic1.gif base = "docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif Note: if the URI <a href="libxml-SAX.html#reference">reference</a> is really wierd or complicated, it may be worthwhile to first convert it into a "nice" one by calling <a href="libxml-uri.html#xmlBuildURI">xmlBuildURI</a> (using 'base') before calling this routine, since this routine (for reasonable efficiency) assumes URI has already been through some validation.</p> +</pre><p>Expresses the URI of the <a href="libxml-SAX.html#reference">reference</a> in terms relative to the base. Some examples of this operation include: base = "http://site1.com/docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif pic1.gif http://site2.com/docs/pic1.gif http://site2.com/docs/pic1.gif base = "docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif Note: if the URI <a href="libxml-SAX.html#reference">reference</a> is really weird or complicated, it may be worthwhile to first convert it into a "nice" one by calling <a href="libxml-uri.html#xmlBuildURI">xmlBuildURI</a> (using 'base') before calling this routine, since this routine (for reasonable efficiency) assumes URI has already been through some validation.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI <a href="libxml-SAX.html#reference">reference</a> under consideration</td></tr><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>the base value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new URI string (to be freed by the caller) or NULL in case error.</td></tr></tbody></table></div><h3><a name="xmlBuildURI" id="xmlBuildURI"></a>Function: xmlBuildURI</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlBuildURI (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * base)<br /> </pre><p>Computes he final URI of the <a href="libxml-SAX.html#reference">reference</a> done by checking that the given URI is valid, and building the final URI using the base URI. This is processed according to section 5.2 of the RFC 2396 5.2. Resolving Relative References to Absolute Form</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI instance found in the document</td></tr><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>the base value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new URI string (to be freed by the caller) or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCanonicPath" id="xmlCanonicPath"></a>Function: xmlCanonicPath</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlCanonicPath (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * path)<br /> diff --git a/doc/html/libxml-valid.html b/doc/html/libxml-valid.html index 94df4367..8acb88a5 100644 --- a/doc/html/libxml-valid.html +++ b/doc/html/libxml-valid.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module valid from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module valid from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-uri.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-uri.html">uri</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xinclude.html">xinclude</a></th><td><a accesskey="n" href="libxml-xinclude.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API for the DTD handling and the validity checking </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a></pre><pre class="programlisting">#define <a href="#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a></pre><pre class="programlisting">Structure <a href="#xmlAttributeTable">xmlAttributeTable</a><br />struct _xmlHashTable + </style><title>Module valid from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module valid from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-uri.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-uri.html">uri</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xinclude.html">xinclude</a></th><td><a accesskey="n" href="libxml-xinclude.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API for the DTD handling and the validity checking </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a></pre><pre class="programlisting">#define <a href="#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a></pre><pre class="programlisting">Structure <a href="#xmlAttributeTable">xmlAttributeTable</a><br />struct _xmlHashTable The content of this structure is not made public by the API. </pre><pre class="programlisting">Typedef <a href="libxml-valid.html#xmlAttributeTable">xmlAttributeTable</a> * <a name="xmlAttributeTablePtr" id="xmlAttributeTablePtr">xmlAttributeTablePtr</a> </pre><pre class="programlisting">Structure <a href="#xmlElementTable">xmlElementTable</a><br />struct _xmlHashTable diff --git a/doc/html/libxml-xinclude.html b/doc/html/libxml-xinclude.html index c799f109..5fcf09bd 100644 --- a/doc/html/libxml-xinclude.html +++ b/doc/html/libxml-xinclude.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xinclude from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xinclude from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-valid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-valid.html">valid</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xlink.html">xlink</a></th><td><a accesskey="n" href="libxml-xlink.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 10 November 2003</p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_HREF">XINCLUDE_HREF</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_NODE">XINCLUDE_NODE</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_NS">XINCLUDE_NS</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE">XINCLUDE_PARSE</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a></pre><pre class="programlisting">Structure <a href="#xmlXIncludeCtxt">xmlXIncludeCtxt</a><br />struct _xmlXIncludeCtxt + </style><title>Module xinclude from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xinclude from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-valid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-valid.html">valid</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xlink.html">xlink</a></th><td><a accesskey="n" href="libxml-xlink.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 10 November 2003</p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_HREF">XINCLUDE_HREF</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_NODE">XINCLUDE_NODE</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_NS">XINCLUDE_NS</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE">XINCLUDE_PARSE</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a></pre><pre class="programlisting">Structure <a href="#xmlXIncludeCtxt">xmlXIncludeCtxt</a><br />struct _xmlXIncludeCtxt The content of this structure is not made public by the API. </pre><pre class="programlisting">Typedef <a href="libxml-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a> * <a name="xmlXIncludeCtxtPtr" id="xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> </pre><pre class="programlisting">void <a href="#xmlXIncludeFreeContext">xmlXIncludeFreeContext</a> (<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt)</pre> diff --git a/doc/html/libxml-xlink.html b/doc/html/libxml-xlink.html index 5e94b98c..b5dc0782 100644 --- a/doc/html/libxml-xlink.html +++ b/doc/html/libxml-xlink.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xlink from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xlink from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xinclude.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xinclude.html">xinclude</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlIO.html">xmlIO</a></th><td><a accesskey="n" href="libxml-xmlIO.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>unfinished XLink detection module </p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xlinkActuate">xlinkActuate</a> + </style><title>Module xlink from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xlink from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xinclude.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xinclude.html">xinclude</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlIO.html">xmlIO</a></th><td><a accesskey="n" href="libxml-xmlIO.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>unfinished XLink detection module </p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xlinkActuate">xlinkActuate</a> </pre><pre class="programlisting">Typedef <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * <a name="xlinkHRef" id="xlinkHRef">xlinkHRef</a> </pre><pre class="programlisting">Structure <a href="#xlinkHandler">xlinkHandler</a><br />struct _xlinkHandler </pre><pre class="programlisting">Typedef <a href="libxml-xlink.html#xlinkHandler">xlinkHandler</a> * <a name="xlinkHandlerPtr" id="xlinkHandlerPtr">xlinkHandlerPtr</a> diff --git a/doc/html/libxml-xmlIO.html b/doc/html/libxml-xmlIO.html index 2d2724cc..a3118dfa 100644 --- a/doc/html/libxml-xmlIO.html +++ b/doc/html/libxml-xmlIO.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xmlIO from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlIO from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xlink.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xlink.html">xlink</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlautomata.html">xmlautomata</a></th><td><a accesskey="n" href="libxml-xmlautomata.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface for the I/O interfaces used by the parser </p><h2>Table of Contents</h2><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a> (<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)</pre> + </style><title>Module xmlIO from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlIO from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xlink.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xlink.html">xlink</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlautomata.html">xmlautomata</a></th><td><a accesskey="n" href="libxml-xmlautomata.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface for the I/O interfaces used by the parser </p><h2>Table of Contents</h2><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a> (<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)</pre> <pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a> (<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre> <pre class="programlisting">int <a href="#xmlCheckFilename">xmlCheckFilename</a> (const char * path)</pre> <pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#xmlCheckHTTPInput">xmlCheckHTTPInput</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br /> <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret)</pre> @@ -130,7 +130,7 @@ int xmlInputCloseCallback (void * context) </pre><p>Callback used in the I/O Input API to close the resource</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>an Input context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div><br /> <h3><a name="xmlInputMatchCallback" id="xmlInputMatchCallback"></a>Function type: xmlInputMatchCallback</h3><pre class="programlisting">Function type: xmlInputMatchCallback int xmlInputMatchCallback (char const * filename) -</pre><p>Callback used in the I/O Input API to detect if the current handler can provide input fonctionnalities for this resource.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if yes and 0 if another Input module should be used</td></tr></tbody></table></div><br /> +</pre><p>Callback used in the I/O Input API to detect if the current handler can provide input functionality for this resource.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if yes and 0 if another Input module should be used</td></tr></tbody></table></div><br /> <h3><a name="xmlInputOpenCallback" id="xmlInputOpenCallback"></a>Function type: xmlInputOpenCallback</h3><pre class="programlisting">Function type: xmlInputOpenCallback void * xmlInputOpenCallback (char const * filename) </pre><p>Callback used in the I/O Input API to open the resource</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an Input context or NULL in case or error</td></tr></tbody></table></div><br /> @@ -162,7 +162,7 @@ int xmlInputReadCallback (void * context, <br /> char * buffer, <br /> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case or error or no data is held, the size otherwise</td></tr></tbody></table></div><h3><a name="xmlOutputBufferWrite" id="xmlOutputBufferWrite"></a>Function: xmlOutputBufferWrite</h3><pre class="programlisting">int xmlOutputBufferWrite (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br /> int len, <br /> const char * buf)<br /> </pre><p>Write the content of the array in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the size in bytes of the array.</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlOutputBufferWriteEscape" id="xmlOutputBufferWriteEscape"></a>Function: xmlOutputBufferWriteEscape</h3><pre class="programlisting">int xmlOutputBufferWriteEscape (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br /> <a href="libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escaping)<br /> -</pre><p>Write the content of the string in the output I/O buffer This routine escapes the caracters and then handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p> +</pre><p>Write the content of the string in the output I/O buffer This routine escapes the <a href="libxml-SAX.html#characters">characters</a> and then handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>a zero terminated UTF-8 string</td></tr><tr><td><span class="term"><i><tt>escaping</tt></i>:</span></td><td>an optional escaping function (or NULL)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlOutputBufferWriteString" id="xmlOutputBufferWriteString"></a>Function: xmlOutputBufferWriteString</h3><pre class="programlisting">int xmlOutputBufferWriteString (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br /> const char * str)<br /> </pre><p>Write the content of the string in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>a zero terminated C string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlOutputCloseCallback" id="xmlOutputCloseCallback"></a>Function type: xmlOutputCloseCallback</h3><pre class="programlisting">Function type: xmlOutputCloseCallback @@ -170,7 +170,7 @@ int xmlOutputCloseCallback (void * context) </pre><p>Callback used in the I/O Output API to close the resource</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>an Output context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div><br /> <h3><a name="xmlOutputMatchCallback" id="xmlOutputMatchCallback"></a>Function type: xmlOutputMatchCallback</h3><pre class="programlisting">Function type: xmlOutputMatchCallback int xmlOutputMatchCallback (char const * filename) -</pre><p>Callback used in the I/O Output API to detect if the current handler can provide output fonctionnalities for this resource.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if yes and 0 if another Output module should be used</td></tr></tbody></table></div><br /> +</pre><p>Callback used in the I/O Output API to detect if the current handler can provide output functionality for this resource.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if yes and 0 if another Output module should be used</td></tr></tbody></table></div><br /> <h3><a name="xmlOutputOpenCallback" id="xmlOutputOpenCallback"></a>Function type: xmlOutputOpenCallback</h3><pre class="programlisting">Function type: xmlOutputOpenCallback void * xmlOutputOpenCallback (char const * filename) </pre><p>Callback used in the I/O Output API to open the resource</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an Output context or NULL in case or error</td></tr></tbody></table></div><br /> diff --git a/doc/html/libxml-xmlautomata.html b/doc/html/libxml-xmlautomata.html index a07f7c04..a66b3669 100644 --- a/doc/html/libxml-xmlautomata.html +++ b/doc/html/libxml-xmlautomata.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xmlautomata from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlautomata from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlIO.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlIO.html">xmlIO</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlerror.html">xmlerror</a></th><td><a accesskey="n" href="libxml-xmlerror.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the API to build regexp automata </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlAutomata">xmlAutomata</a><br />struct _xmlAutomata + </style><title>Module xmlautomata from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlautomata from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlIO.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlIO.html">xmlIO</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlerror.html">xmlerror</a></th><td><a accesskey="n" href="libxml-xmlerror.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the API to build regexp automata </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlAutomata">xmlAutomata</a><br />struct _xmlAutomata The content of this structure is not made public by the API. </pre><pre class="programlisting">Typedef <a href="libxml-xmlautomata.html#xmlAutomata">xmlAutomata</a> * <a name="xmlAutomataPtr" id="xmlAutomataPtr">xmlAutomataPtr</a> </pre><pre class="programlisting">Structure <a href="#xmlAutomataState">xmlAutomataState</a><br />struct _xmlAutomataState @@ -54,9 +54,9 @@ The content of this structure is not made public by the API. </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a an ALL transition from the @from state to the target state. That transition is an epsilon transition allowed only when all transitions from the @from node have been activated.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>lax</tt></i>:</span></td><td>allow to transition if not all all transitions have been activated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountTrans" id="xmlAutomataNewCountTrans"></a>Function: xmlAutomataNewCountTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewCountTrans (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br /> int min, <br /> int max, <br /> void * data)<br /> </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountTrans2" id="xmlAutomataNewCountTrans2"></a>Function: xmlAutomataNewCountTrans2</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewCountTrans2 (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br /> int min, <br /> int max, <br /> void * data)<br /> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountTrans2" id="xmlAutomataNewCountTrans2"></a>Function: xmlAutomataNewCountTrans2</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewCountTrans2 (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br /> int min, <br /> int max, <br /> void * data)<br /> </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountedTrans" id="xmlAutomataNewCountedTrans"></a>Function: xmlAutomataNewCountedTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewCountedTrans (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br /> int counter)<br /> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountedTrans" id="xmlAutomataNewCountedTrans"></a>Function: xmlAutomataNewCountedTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewCountedTrans (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br /> int counter)<br /> </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will increment the counter provided</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>counter</tt></i>:</span></td><td>the counter associated to that transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCounter" id="xmlAutomataNewCounter"></a>Function: xmlAutomataNewCounter</h3><pre class="programlisting">int xmlAutomataNewCounter (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br /> int min, <br /> int max)<br /> </pre><p>Create a new counter</p> @@ -68,9 +68,9 @@ The content of this structure is not made public by the API. </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by any value except (@token,@token2) Note that if @token2 is not NULL, then (X, NULL) won't match to follow # the semantic of XSD ##other</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the first input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data passed to the callback function if the transition is activated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewOnceTrans" id="xmlAutomataNewOnceTrans"></a>Function: xmlAutomataNewOnceTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewOnceTrans (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br /> int min, <br /> int max, <br /> void * data)<br /> </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max, moreover that transition can only be crossed once.</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewOnceTrans2" id="xmlAutomataNewOnceTrans2"></a>Function: xmlAutomataNewOnceTrans2</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewOnceTrans2 (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br /> int min, <br /> int max, <br /> void * data)<br /> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewOnceTrans2" id="xmlAutomataNewOnceTrans2"></a>Function: xmlAutomataNewOnceTrans2</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewOnceTrans2 (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br /> int min, <br /> int max, <br /> void * data)<br /> </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max, moreover that transition can only be crossed once.</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewState" id="xmlAutomataNewState"></a>Function: xmlAutomataNewState</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewState (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br /> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewState" id="xmlAutomataNewState"></a>Function: xmlAutomataNewState</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewState (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br /> </pre><p>Create a new disconnected state in the automata</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewTransition" id="xmlAutomataNewTransition"></a>Function: xmlAutomataNewTransition</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewTransition (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br /> <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br /> void * data)<br /> </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token</p> diff --git a/doc/html/libxml-xmlerror.html b/doc/html/libxml-xmlerror.html index 2550ac0d..1b418a34 100644 --- a/doc/html/libxml-xmlerror.html +++ b/doc/html/libxml-xmlerror.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xmlerror from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlerror from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlautomata.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlautomata.html">xmlautomata</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlexports.html">xmlexports</a></th><td><a accesskey="n" href="libxml-xmlexports.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the API used to report errors </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlError">xmlError</a><br />struct _xmlError + </style><title>Module xmlerror from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlerror from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlautomata.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlautomata.html">xmlautomata</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlexports.html">xmlexports</a></th><td><a accesskey="n" href="libxml-xmlexports.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the API used to report errors </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlError">xmlError</a><br />struct _xmlError </pre><pre class="programlisting">Enum <a href="#xmlErrorDomain">xmlErrorDomain</a> </pre><pre class="programlisting">Enum <a href="#xmlErrorLevel">xmlErrorLevel</a> </pre><pre class="programlisting">Typedef <a href="libxml-xmlerror.html#xmlError">xmlError</a> * <a name="xmlErrorPtr" id="xmlErrorPtr">xmlErrorPtr</a> @@ -836,7 +836,7 @@ void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> (void * userD </pre><p>Cleanup the last global error registered. For parsing error this does not change the well-formedness result.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlGenericErrorFunc" id="xmlGenericErrorFunc"></a>Function type: xmlGenericErrorFunc</h3><pre class="programlisting">Function type: xmlGenericErrorFunc void xmlGenericErrorFunc (void * ctx, <br /> const char * msg, <br /> ... ...) -</pre><p>Signature of the function to use when there is an error and no parsing or validity context available .</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>a parsing context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>the extra arguments of the varags to format the message</td></tr></tbody></table></div><br /> +</pre><p>Signature of the function to use when there is an error and no parsing or validity context available .</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>a parsing context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>the extra arguments of the varargs to format the message</td></tr></tbody></table></div><br /> <h3><a name="xmlGetLastError" id="xmlGetLastError"></a>Function: xmlGetLastError</h3><pre class="programlisting"><a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> xmlGetLastError (void)<br /> </pre><p>Get the last global error registered. This is per thread if compiled with thread support.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if no error occurred or a pointer to the error</td></tr></tbody></table></div><h3><a name="xmlParserError" id="xmlParserError"></a>Function: xmlParserError</h3><pre class="programlisting">void xmlParserError (void * ctx, <br /> const char * msg, <br /> ... ...)<br /> diff --git a/doc/html/libxml-xmlexports.html b/doc/html/libxml-xmlexports.html index 152995ac..a5a4d752 100644 --- a/doc/html/libxml-xmlexports.html +++ b/doc/html/libxml-xmlexports.html @@ -10,11 +10,10 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xmlexports from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlexports from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlerror.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlerror.html">xmlerror</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlmemory.html">xmlmemory</a></th><td><a accesskey="n" href="libxml-xmlmemory.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>macros for marking symbols as exportable/importable. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a></pre><pre class="programlisting">#define <a href="#XMLCALL">XMLCALL</a></pre><pre class="programlisting">#define <a href="#XMLCDECL">XMLCDECL</a></pre><pre class="programlisting">#define <a href="#XMLPUBFUN">XMLPUBFUN</a></pre><pre class="programlisting">#define <a href="#XMLPUBVAR">XMLPUBVAR</a></pre><pre class="programlisting">#define <a href="#_REENTRANT">_REENTRANT</a></pre><h2>Description</h2> + </style><title>Module xmlexports from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlexports from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlerror.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlerror.html">xmlerror</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlmemory.html">xmlmemory</a></th><td><a accesskey="n" href="libxml-xmlmemory.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>macros for marking symbols as exportable/importable. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a></pre><pre class="programlisting">#define <a href="#XMLCALL">XMLCALL</a></pre><pre class="programlisting">#define <a href="#XMLCDECL">XMLCDECL</a></pre><pre class="programlisting">#define <a href="#XMLPUBFUN">XMLPUBFUN</a></pre><pre class="programlisting">#define <a href="#XMLPUBVAR">XMLPUBVAR</a></pre><h2>Description</h2> <h3><a name="LIBXML_DLL_IMPORT" id="LIBXML_DLL_IMPORT"></a>Macro: LIBXML_DLL_IMPORT</h3><pre>#define LIBXML_DLL_IMPORT</pre><p></p> <h3><a name="XMLCALL" id="XMLCALL"></a>Macro: XMLCALL</h3><pre>#define XMLCALL</pre><p></p> <h3><a name="XMLCDECL" id="XMLCDECL"></a>Macro: XMLCDECL</h3><pre>#define XMLCDECL</pre><p></p> <h3><a name="XMLPUBFUN" id="XMLPUBFUN"></a>Macro: XMLPUBFUN</h3><pre>#define XMLPUBFUN</pre><p></p> <h3><a name="XMLPUBVAR" id="XMLPUBVAR"></a>Macro: XMLPUBVAR</h3><pre>#define XMLPUBVAR</pre><p></p> -<h3><a name="_REENTRANT" id="_REENTRANT"></a>Macro: _REENTRANT</h3><pre>#define _REENTRANT</pre><p></p> <p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html> diff --git a/doc/html/libxml-xmlmemory.html b/doc/html/libxml-xmlmemory.html index 3406e098..3ee8a2dc 100644 --- a/doc/html/libxml-xmlmemory.html +++ b/doc/html/libxml-xmlmemory.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xmlmemory from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlmemory from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlexports.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlexports.html">xmlexports</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlmodule.html">xmlmodule</a></th><td><a accesskey="n" href="libxml-xmlmodule.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>provides interfaces for the memory allocator, including debugging capabilities. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a></pre><pre class="programlisting">Variable <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> <a name="xmlMalloc" id="xmlMalloc"></a>xmlMalloc + </style><title>Module xmlmemory from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlmemory from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlexports.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlexports.html">xmlexports</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlmodule.html">xmlmodule</a></th><td><a accesskey="n" href="libxml-xmlmodule.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>provides interfaces for the memory allocator, including debugging capabilities. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a></pre><pre class="programlisting">Variable <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> <a name="xmlMalloc" id="xmlMalloc"></a>xmlMalloc </pre><pre class="programlisting">Variable <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> <a name="xmlMallocAtomic" id="xmlMallocAtomic"></a>xmlMallocAtomic diff --git a/doc/html/libxml-xmlmodule.html b/doc/html/libxml-xmlmodule.html index 1e25a920..1aa8afc1 100644 --- a/doc/html/libxml-xmlmodule.html +++ b/doc/html/libxml-xmlmodule.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xmlmodule from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlmodule from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlmemory.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlmemory.html">xmlmemory</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlreader.html">xmlreader</a></th><td><a accesskey="n" href="libxml-xmlreader.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>basic API for dynamic module loading, used by libexslt added in 2.6.17 </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlModule">xmlModule</a><br />struct _xmlModule + </style><title>Module xmlmodule from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlmodule from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlmemory.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlmemory.html">xmlmemory</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlreader.html">xmlreader</a></th><td><a accesskey="n" href="libxml-xmlreader.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>basic API for dynamic module loading, used by libexslt added in 2.6.17 </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlModule">xmlModule</a><br />struct _xmlModule The content of this structure is not made public by the API. </pre><pre class="programlisting">Enum <a href="#xmlModuleOption">xmlModuleOption</a> </pre><pre class="programlisting">Typedef <a href="libxml-xmlmodule.html#xmlModule">xmlModule</a> * <a name="xmlModulePtr" id="xmlModulePtr">xmlModulePtr</a> @@ -32,7 +32,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>module</tt></i>:</span></td><td>the module handle</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of argument error and -2 if the module could not be closed/unloaded.</td></tr></tbody></table></div><h3><a name="xmlModuleFree" id="xmlModuleFree"></a>Function: xmlModuleFree</h3><pre class="programlisting">int xmlModuleFree (<a href="libxml-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)<br /> </pre><p>The free operations free the data associated to the module but does not unload the associated shared library which may still be in use.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>module</tt></i>:</span></td><td>the module handle</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of argument error</td></tr></tbody></table></div><h3><a name="xmlModuleOpen" id="xmlModuleOpen"></a>Function: xmlModuleOpen</h3><pre class="programlisting"><a href="libxml-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> xmlModuleOpen (const char * name, <br /> int options)<br /> -</pre><p>Opens a module/shared library given its name or path NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We canot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * . TODO: options are not yet implemented.</p> +</pre><p>Opens a module/shared library given its name or path NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * . TODO: options are not yet implemented.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the module name</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a set of <a href="libxml-xmlmodule.html#xmlModuleOption">xmlModuleOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a handle for the module or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlModuleSymbol" id="xmlModuleSymbol"></a>Function: xmlModuleSymbol</h3><pre class="programlisting">int xmlModuleSymbol (<a href="libxml-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br /> const char * name, <br /> void ** symbol)<br /> -</pre><p>Lookup for a symbol address in the given module NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We canot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * .</p> +</pre><p>Lookup for a symbol address in the given module NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * .</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>module</tt></i>:</span></td><td>the module</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the symbol</td></tr><tr><td><span class="term"><i><tt>symbol</tt></i>:</span></td><td>the resulting symbol address</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the symbol was found, or -1 in case of error</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html> diff --git a/doc/html/libxml-xmlreader.html b/doc/html/libxml-xmlreader.html index b9bd032a..bb1debcc 100644 --- a/doc/html/libxml-xmlreader.html +++ b/doc/html/libxml-xmlreader.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xmlreader from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlreader from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlmodule.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlmodule.html">xmlmodule</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlregexp.html">xmlregexp</a></th><td><a accesskey="n" href="libxml-xmlregexp.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API of the XML streaming API based on C# interfaces. </p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xmlParserProperties">xmlParserProperties</a> + </style><title>Module xmlreader from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlreader from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlmodule.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlmodule.html">xmlmodule</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlregexp.html">xmlregexp</a></th><td><a accesskey="n" href="libxml-xmlregexp.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API of the XML streaming API based on C# interfaces. </p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xmlParserProperties">xmlParserProperties</a> </pre><pre class="programlisting">Enum <a href="#xmlParserSeverities">xmlParserSeverities</a> </pre><pre class="programlisting">Enum <a href="#xmlReaderTypes">xmlReaderTypes</a> </pre><pre class="programlisting">Structure <a href="#xmlTextReader">xmlTextReader</a><br />struct _xmlTextReader @@ -211,9 +211,9 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the xml:lang value or NULL if none exists.</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstXmlVersion" id="xmlTextReaderConstXmlVersion"></a>Function: xmlTextReaderConstXmlVersion</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlTextReaderConstXmlVersion (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> </pre><p>Determine the XML version of the document being read.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the XML version of the document or NULL in case of error. The string is deallocated with the reader.</td></tr></tbody></table></div><h3><a name="xmlTextReaderCurrentDoc" id="xmlTextReaderCurrentDoc"></a>Function: xmlTextReaderCurrentDoc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlTextReaderCurrentDoc (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> -</pre><p>Hacking interface allowing to get the <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> correponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.</p> +</pre><p>Hacking interface allowing to get the <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> corresponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderCurrentNode" id="xmlTextReaderCurrentNode"></a>Function: xmlTextReaderCurrentNode</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlTextReaderCurrentNode (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> -</pre><p>Hacking interface allowing to get the <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> correponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.</p> +</pre><p>Hacking interface allowing to get the <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> corresponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderDepth" id="xmlTextReaderDepth"></a>Function: xmlTextReaderDepth</h3><pre class="programlisting">int xmlTextReaderDepth (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> </pre><p>The depth of the node in the tree.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the depth or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderErrorFunc" id="xmlTextReaderErrorFunc"></a>Function type: xmlTextReaderErrorFunc</h3><pre class="programlisting">Function type: xmlTextReaderErrorFunc @@ -236,7 +236,7 @@ void xmlTextReaderErrorFunc (void * arg, <br /> const char * msg, <br /> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the user data (XML reader context)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an int or 0 if not available</td></tr></tbody></table></div><h3><a name="xmlTextReaderGetParserProp" id="xmlTextReaderGetParserProp"></a>Function: xmlTextReaderGetParserProp</h3><pre class="programlisting">int xmlTextReaderGetParserProp (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br /> int prop)<br /> </pre><p>Read the parser internal property.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>prop</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to get</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value, usually 0 or 1, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderGetRemainder" id="xmlTextReaderGetRemainder"></a>Function: xmlTextReaderGetRemainder</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlTextReaderGetRemainder (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> -</pre><p>Method to get the remainder of the buffered XML. this method stops the parser, set its state to End Of File and return the input stream with what is left that the parser did not use. The implementation is not good, the parser certainly procgressed past what's left in reader->input, and there is an allocation problem. Best would be to rewrite it differently.</p> +</pre><p>Method to get the remainder of the buffered XML. this method stops the parser, set its state to End Of File and return the input stream with what is left that the parser did not use. The implementation is not good, the parser certainly progressed past what's left in reader->input, and there is an allocation problem. Best would be to rewrite it differently.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> attached to the XML or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderHasAttributes" id="xmlTextReaderHasAttributes"></a>Function: xmlTextReaderHasAttributes</h3><pre class="programlisting">int xmlTextReaderHasAttributes (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> </pre><p>Whether the node has attributes.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false, and -1 in case or error</td></tr></tbody></table></div><h3><a name="xmlTextReaderHasValue" id="xmlTextReaderHasValue"></a>Function: xmlTextReaderHasValue</h3><pre class="programlisting">int xmlTextReaderHasValue (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> @@ -279,7 +279,7 @@ void xmlTextReaderErrorFunc (void * arg, <br /> const char * msg, <br /> </pre><p>Skip to the node following the current one in document order while avoiding the subtree if any. Currently implemented only for Readers built on a document</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderNodeType" id="xmlTextReaderNodeType"></a>Function: xmlTextReaderNodeType</h3><pre class="programlisting">int xmlTextReaderNodeType (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> </pre><p>Get the node type of the current node Reference: http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/XmlNodeType.html</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the xmlNodeType of the current node or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderNormalization" id="xmlTextReaderNormalization"></a>Function: xmlTextReaderNormalization</h3><pre class="programlisting">int xmlTextReaderNormalization (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlReaderTypes">xmlReaderTypes</a> of the current node or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderNormalization" id="xmlTextReaderNormalization"></a>Function: xmlTextReaderNormalization</h3><pre class="programlisting">int xmlTextReaderNormalization (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> </pre><p>The value indicating whether to normalize white space and <a href="libxml-SAX.html#attribute">attribute</a> values. Since <a href="libxml-SAX.html#attribute">attribute</a> value and end of line normalizations are a MUST in the XML specification only the value true is accepted. The broken bahaviour of accepting out of range character entities like &#0; is of course not supported either.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderPrefix" id="xmlTextReaderPrefix"></a>Function: xmlTextReaderPrefix</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlTextReaderPrefix (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> </pre><p>A shorthand <a href="libxml-SAX.html#reference">reference</a> to the namespace associated with the node.</p> @@ -293,7 +293,7 @@ void xmlTextReaderErrorFunc (void * arg, <br /> const char * msg, <br /> </pre><p>Moves the position of the current instance to the next node in the stream, exposing its properties.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderReadAttributeValue" id="xmlTextReaderReadAttributeValue"></a>Function: xmlTextReaderReadAttributeValue</h3><pre class="programlisting">int xmlTextReaderReadAttributeValue (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> </pre><p>Parses an <a href="libxml-SAX.html#attribute">attribute</a> value into one or more Text and EntityReference nodes.</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, 0 if the reader was not positionned on an ttribute node or all the <a href="libxml-SAX.html#attribute">attribute</a> values have been read, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderReadInnerXml" id="xmlTextReaderReadInnerXml"></a>Function: xmlTextReaderReadInnerXml</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlTextReaderReadInnerXml (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, 0 if the reader was not positioned on an <a href="libxml-SAX.html#attribute">attribute</a> node or all the <a href="libxml-SAX.html#attribute">attribute</a> values have been read, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderReadInnerXml" id="xmlTextReaderReadInnerXml"></a>Function: xmlTextReaderReadInnerXml</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlTextReaderReadInnerXml (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> </pre><p>Reads the contents of the current node, including child nodes and markup.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the XML content, or NULL if the current node is neither an element nor attribute, or has no child nodes. The string must be deallocated by the caller.</td></tr></tbody></table></div><h3><a name="xmlTextReaderReadOuterXml" id="xmlTextReaderReadOuterXml"></a>Function: xmlTextReaderReadOuterXml</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlTextReaderReadOuterXml (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> </pre><p>Reads the contents of the current node, including child nodes and markup.</p> @@ -302,8 +302,8 @@ void xmlTextReaderErrorFunc (void * arg, <br /> const char * msg, <br /> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the state value, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderReadString" id="xmlTextReaderReadString"></a>Function: xmlTextReaderReadString</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlTextReaderReadString (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br /> </pre><p>Reads the contents of an element or a text node as a string.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the contents of the Element or Text node, or NULL if the reader is positioned on any other type of node. The string must be deallocated by the caller.</td></tr></tbody></table></div><h3><a name="xmlTextReaderRelaxNGSetSchema" id="xmlTextReaderRelaxNGSetSchema"></a>Function: xmlTextReaderRelaxNGSetSchema</h3><pre class="programlisting">int xmlTextReaderRelaxNGSetSchema (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br /> <a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br /> -</pre><p>Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then RelaxNG validation is desactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled RelaxNG schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the RelaxNG validation could be (des)activated and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderRelaxNGValidate" id="xmlTextReaderRelaxNGValidate"></a>Function: xmlTextReaderRelaxNGValidate</h3><pre class="programlisting">int xmlTextReaderRelaxNGValidate (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br /> const char * rng)<br /> +</pre><p>Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then RelaxNG validation is deactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.</p> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled RelaxNG schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the RelaxNG validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderRelaxNGValidate" id="xmlTextReaderRelaxNGValidate"></a>Function: xmlTextReaderRelaxNGValidate</h3><pre class="programlisting">int xmlTextReaderRelaxNGValidate (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br /> const char * rng)<br /> </pre><p>Use RelaxNG schema to validate the document as it is processed. Activation is only possible before the first Read(). If @rng is NULL, then RelaxNG schema validation is deactivated.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>rng</tt></i>:</span></td><td>the path to a RelaxNG schema or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderRelaxNGValidateCtxt" id="xmlTextReaderRelaxNGValidateCtxt"></a>Function: xmlTextReaderRelaxNGValidateCtxt</h3><pre class="programlisting">int xmlTextReaderRelaxNGValidateCtxt (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br /> <a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br /> int options)<br /> </pre><p>Use RelaxNG schema context to validate the document as it is processed. Activation is only possible before the first Read(). If @ctxt is NULL, then RelaxNG schema validation is deactivated.</p> @@ -316,8 +316,8 @@ void xmlTextReaderErrorFunc (void * arg, <br /> const char * msg, <br /> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the callback function to call on error and warnings</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a user argument to pass to the callback function</td></tr></tbody></table></div><h3><a name="xmlTextReaderSetParserProp" id="xmlTextReaderSetParserProp"></a>Function: xmlTextReaderSetParserProp</h3><pre class="programlisting">int xmlTextReaderSetParserProp (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br /> int prop, <br /> int value)<br /> </pre><p>Change the parser processing behaviour by changing some of its internal properties. Note that some properties can only be changed before any read has been done.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>prop</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to set</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>usually 0 or 1 to (de)activate it</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the call was successful, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderSetSchema" id="xmlTextReaderSetSchema"></a>Function: xmlTextReaderSetSchema</h3><pre class="programlisting">int xmlTextReaderSetSchema (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br /> <a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br /> -</pre><p>Use XSD Schema to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then Schema validation is desactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled Schema schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the Schema validation could be (des)activated and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderSetStructuredErrorHandler" id="xmlTextReaderSetStructuredErrorHandler"></a>Function: xmlTextReaderSetStructuredErrorHandler</h3><pre class="programlisting">void xmlTextReaderSetStructuredErrorHandler (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br /> <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br /> void * arg)<br /> +</pre><p>Use XSD Schema to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then Schema validation is deactivated. The @schema should not be freed until the reader is deallocated or its use has been deactivated.</p> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled Schema schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the Schema validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderSetStructuredErrorHandler" id="xmlTextReaderSetStructuredErrorHandler"></a>Function: xmlTextReaderSetStructuredErrorHandler</h3><pre class="programlisting">void xmlTextReaderSetStructuredErrorHandler (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br /> <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br /> void * arg)<br /> </pre><p>Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the callback function to call on error and warnings</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a user argument to pass to the callback function</td></tr></tbody></table></div><h3><a name="xmlTextReaderSetup" id="xmlTextReaderSetup"></a>Function: xmlTextReaderSetup</h3><pre class="programlisting">int xmlTextReaderSetup (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br /> <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br /> const char * URL, <br /> const char * encoding, <br /> int options)<br /> </pre><p>Setup an XML reader with new options</p> diff --git a/doc/html/libxml-xmlregexp.html b/doc/html/libxml-xmlregexp.html index 564f65e0..99b7636f 100644 --- a/doc/html/libxml-xmlregexp.html +++ b/doc/html/libxml-xmlregexp.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xmlregexp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlregexp from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlreader.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlreader.html">xmlreader</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlsave.html">xmlsave</a></th><td><a accesskey="n" href="libxml-xmlsave.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>basic API for libxml regular expressions handling used for XML Schemas and validation. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlExpCtxt">xmlExpCtxt</a><br />struct _xmlExpCtxt + </style><title>Module xmlregexp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlregexp from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlreader.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlreader.html">xmlreader</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlsave.html">xmlsave</a></th><td><a accesskey="n" href="libxml-xmlsave.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>basic API for libxml regular expressions handling used for XML Schemas and validation. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlExpCtxt">xmlExpCtxt</a><br />struct _xmlExpCtxt The content of this structure is not made public by the API. </pre><pre class="programlisting">Typedef <a href="libxml-xmlregexp.html#xmlExpCtxt">xmlExpCtxt</a> * <a name="xmlExpCtxtPtr" id="xmlExpCtxtPtr">xmlExpCtxtPtr</a> </pre><pre class="programlisting">Structure <a href="#xmlExpNode">xmlExpNode</a><br />struct _xmlExpNode @@ -84,7 +84,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an expression context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of nodes in use or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlExpDump" id="xmlExpDump"></a>Function: xmlExpDump</h3><pre class="programlisting">void xmlExpDump (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br /> <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br /> </pre><p>Serialize the expression as compiled to the buffer</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>a buffer to receive the output</td></tr><tr><td><span class="term"><i><tt>expr</tt></i>:</span></td><td>the compiled expression</td></tr></tbody></table></div><h3><a name="xmlExpExpDerive" id="xmlExpExpDerive"></a>Function: xmlExpExpDerive</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> xmlExpExpDerive (<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br /> <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br /> <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br /> -</pre><p>Evaluates the expression resulting from @exp consuming a sub expression @sub Based on algebraic derivation and sometimes direct Brzozowski derivation it usually tatkes less than linear time and can handle expressions generating infinite languages.</p> +</pre><p>Evaluates the expression resulting from @exp consuming a sub expression @sub Based on algebraic derivation and sometimes direct Brzozowski derivation it usually takes less than linear time and can handle expressions generating infinite languages.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expressions context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the englobing expression</td></tr><tr><td><span class="term"><i><tt>sub</tt></i>:</span></td><td>the subexpression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting expression or NULL in case of internal error, the result must be freed</td></tr></tbody></table></div><h3><a name="xmlExpFree" id="xmlExpFree"></a>Function: xmlExpFree</h3><pre class="programlisting">void xmlExpFree (<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br /> <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br /> </pre><p>Dereference the expression</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr></tbody></table></div><h3><a name="xmlExpFreeCtxt" id="xmlExpFreeCtxt"></a>Function: xmlExpFreeCtxt</h3><pre class="programlisting">void xmlExpFreeCtxt (<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br /> @@ -94,7 +94,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr><tr><td><span class="term"><i><tt>langList</tt></i>:</span></td><td>where to store the tokens</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the allocated length of @list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td></tr></tbody></table></div><h3><a name="xmlExpGetStart" id="xmlExpGetStart"></a>Function: xmlExpGetStart</h3><pre class="programlisting">int xmlExpGetStart (<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br /> <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** tokList, <br /> int len)<br /> </pre><p>Find all the strings that appears at the start of the languages accepted by @exp and store them in @list. E.g. for (a, b) | c it will return the list [a, c]</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr><tr><td><span class="term"><i><tt>tokList</tt></i>:</span></td><td>where to store the tokens</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the allocated length of @list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td></tr></tbody></table></div><h3><a name="xmlExpIsNillable" id="xmlExpIsNillable"></a>Function: xmlExpIsNillable</h3><pre class="programlisting">int xmlExpIsNillable (<a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br /> -</pre><p>Finds if the expression is nillable, i.e. if it accepts the empty sequqnce</p> +</pre><p>Finds if the expression is nillable, i.e. if it accepts the empty sequence</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if nillable, 0 if not and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlExpMaxToken" id="xmlExpMaxToken"></a>Function: xmlExpMaxToken</h3><pre class="programlisting">int xmlExpMaxToken (<a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br /> </pre><p>Indicate the maximum number of input a expression can accept</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>expr</tt></i>:</span></td><td>a compiled expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the maximum length or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlExpNewAtom" id="xmlExpNewAtom"></a>Function: xmlExpNewAtom</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> xmlExpNewAtom (<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br /> int len)<br /> @@ -114,7 +114,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr></tbody></table></div><h3><a name="xmlExpStringDerive" id="xmlExpStringDerive"></a>Function: xmlExpStringDerive</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> xmlExpStringDerive (<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br /> <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br /> int len)<br /> </pre><p>Do one step of Brzozowski derivation of the expression @exp with respect to the input string</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expression context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the expression</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the string len in bytes if available</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting expression or NULL in case of internal error</td></tr></tbody></table></div><h3><a name="xmlExpSubsume" id="xmlExpSubsume"></a>Function: xmlExpSubsume</h3><pre class="programlisting">int xmlExpSubsume (<a href="libxml-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br /> <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br /> <a href="libxml-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br /> -</pre><p>Check whether @exp accepts all the languages accexpted by @sub the input being a subexpression.</p> +</pre><p>Check whether @exp accepts all the languages accepted by @sub the input being a subexpression.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expressions context</td></tr><tr><td><span class="term"><i><tt>exp</tt></i>:</span></td><td>the englobing expression</td></tr><tr><td><span class="term"><i><tt>sub</tt></i>:</span></td><td>the subexpression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 if false and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlRegExecCallbacks" id="xmlRegExecCallbacks"></a>Function type: xmlRegExecCallbacks</h3><pre class="programlisting">Function type: xmlRegExecCallbacks void xmlRegExecCallbacks (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br /> void * transdata, <br /> void * inputdata) </pre><p>Callback function when doing a transition in the automata</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>the regular expression context</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the current token string</td></tr><tr><td><span class="term"><i><tt>transdata</tt></i>:</span></td><td>transition data</td></tr><tr><td><span class="term"><i><tt>inputdata</tt></i>:</span></td><td>input data</td></tr></tbody></table></div><br /> @@ -127,8 +127,8 @@ void xmlRegExecCallbacks (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xml <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context or NULL to indicate the end</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a string token input</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the token to reuse in callbacks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td></tr></tbody></table></div><h3><a name="xmlRegExecPushString2" id="xmlRegExecPushString2"></a>Function: xmlRegExecPushString2</h3><pre class="programlisting">int xmlRegExecPushString2 (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value2, <br /> void * data)<br /> </pre><p>Push one input token in the execution context</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context or NULL to indicate the end</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the first string token input</td></tr><tr><td><span class="term"><i><tt>value2</tt></i>:</span></td><td>the second string token input</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the token to reuse in callbacks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td></tr></tbody></table></div><h3><a name="xmlRegFreeExecCtxt" id="xmlRegFreeExecCtxt"></a>Function: xmlRegFreeExecCtxt</h3><pre class="programlisting">void xmlRegFreeExecCtxt (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec)<br /> -</pre><p>Free the structures associated to a regular expression evaulation context.</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regular expression evaulation context</td></tr></tbody></table></div><h3><a name="xmlRegFreeRegexp" id="xmlRegFreeRegexp"></a>Function: xmlRegFreeRegexp</h3><pre class="programlisting">void xmlRegFreeRegexp (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br /> +</pre><p>Free the structures associated to a regular expression evaluation context.</p> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>a regular expression evaluation context</td></tr></tbody></table></div><h3><a name="xmlRegFreeRegexp" id="xmlRegFreeRegexp"></a>Function: xmlRegFreeRegexp</h3><pre class="programlisting">void xmlRegFreeRegexp (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br /> </pre><p>Free a regexp</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>regexp</tt></i>:</span></td><td>the regexp</td></tr></tbody></table></div><h3><a name="xmlRegNewExecCtxt" id="xmlRegNewExecCtxt"></a>Function: xmlRegNewExecCtxt</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> xmlRegNewExecCtxt (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br /> <a href="libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br /> void * data)<br /> </pre><p>Build a context used for progressive evaluation of a regexp.</p> diff --git a/doc/html/libxml-xmlsave.html b/doc/html/libxml-xmlsave.html index a27e6dcb..c3bea9fb 100644 --- a/doc/html/libxml-xmlsave.html +++ b/doc/html/libxml-xmlsave.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xmlsave from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlsave from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlregexp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlregexp.html">xmlregexp</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlschemas.html">xmlschemas</a></th><td><a accesskey="n" href="libxml-xmlschemas.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API to save document or subtree of document </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlSaveCtxt">xmlSaveCtxt</a><br />struct _xmlSaveCtxt + </style><title>Module xmlsave from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlsave from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlregexp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlregexp.html">xmlregexp</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlschemas.html">xmlschemas</a></th><td><a accesskey="n" href="libxml-xmlschemas.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API to save document or subtree of document </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlSaveCtxt">xmlSaveCtxt</a><br />struct _xmlSaveCtxt The content of this structure is not made public by the API. </pre><pre class="programlisting">Typedef <a href="libxml-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a> * <a name="xmlSaveCtxtPtr" id="xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> </pre><pre class="programlisting">Enum <a href="#xmlSaveOption">xmlSaveOption</a> diff --git a/doc/html/libxml-xmlschemas.html b/doc/html/libxml-xmlschemas.html index 8cb42a12..3729afb8 100644 --- a/doc/html/libxml-xmlschemas.html +++ b/doc/html/libxml-xmlschemas.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xmlschemas from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlschemas from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlsave.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlsave.html">xmlsave</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlschemastypes.html">xmlschemastypes</a></th><td><a accesskey="n" href="libxml-xmlschemastypes.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface to the XML Schemas handling and schema validity checking, it is incomplete right now. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlSchema">xmlSchema</a><br />struct _xmlSchema + </style><title>Module xmlschemas from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlschemas from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlsave.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlsave.html">xmlsave</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlschemastypes.html">xmlschemastypes</a></th><td><a accesskey="n" href="libxml-xmlschemastypes.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface to the XML Schemas handling and schema validity checking, it is incomplete right now. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlSchema">xmlSchema</a><br />struct _xmlSchema </pre><pre class="programlisting">Structure <a href="#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a><br />struct _xmlSchemaParserCtxt The content of this structure is not made public by the API. </pre><pre class="programlisting">Typedef <a href="libxml-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a> * <a name="xmlSchemaParserCtxtPtr" id="xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> @@ -79,7 +79,7 @@ void <a href="#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> (v <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict void * includes : the includes, this is opaque for now int preserve : whether to free the document - int counter : used to give ononymous components uniqu + int counter : used to give anonymous components uniqu <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> idcDef : All identity-constraint defs. void * volatiles : Obsolete }</pre><h3><a name="xmlSchemaParserCtxt" id="xmlSchemaParserCtxt">Structure xmlSchemaParserCtxt</a></h3><pre class="programlisting">Structure xmlSchemaParserCtxt<br />struct _xmlSchemaParserCtxt { @@ -142,7 +142,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the location of the schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaNewValidCtxt" id="xmlSchemaNewValidCtxt"></a>Function: xmlSchemaNewValidCtxt</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> xmlSchemaNewValidCtxt (<a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br /> </pre><p>Create an XML Schemas validation context based on the given schema.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML Schemas</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaParse" id="xmlSchemaParse"></a>Function: xmlSchemaParse</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> xmlSchemaParse (<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br /> -</pre><p>parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.</p> +</pre><p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal XML Schema structure built from the resource or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaSAXPlug" id="xmlSchemaSAXPlug"></a>Function: xmlSchemaSAXPlug</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> xmlSchemaSAXPlug (<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br /> <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br /> void ** user_data)<br /> </pre><p>Plug a SAX based validation layer in a SAX parsing event flow. The original @saxptr and @dataptr data are replaced by new pointers but the calls to the original will be maintained.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a pointer to the original <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a></td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>a pointer to the original SAX user data pointer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to a data structure needed to unplug the validation layer or NULL in case of errors.</td></tr></tbody></table></div><h3><a name="xmlSchemaSAXUnplug" id="xmlSchemaSAXUnplug"></a>Function: xmlSchemaSAXUnplug</h3><pre class="programlisting">int xmlSchemaSAXUnplug (<a href="libxml-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> plug)<br /> diff --git a/doc/html/libxml-xmlschemastypes.html b/doc/html/libxml-xmlschemastypes.html index 6925cfa0..d6d0ae0b 100644 --- a/doc/html/libxml-xmlschemastypes.html +++ b/doc/html/libxml-xmlschemastypes.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xmlschemastypes from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlschemastypes from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlschemas.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlschemas.html">xmlschemas</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlstring.html">xmlstring</a></th><td><a accesskey="n" href="libxml-xmlstring.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>module providing the XML Schema Datatypes implementation both definition and validity checking </p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> + </style><title>Module xmlschemastypes from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlschemastypes from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlschemas.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlschemas.html">xmlschemas</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlstring.html">xmlstring</a></th><td><a accesskey="n" href="libxml-xmlstring.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>module providing the XML Schema Datatypes implementation both definition and validity checking </p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> </pre><pre class="programlisting">int <a href="#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a> (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br /> <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br /> <a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> pctxt, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre> <pre class="programlisting">void <a href="#xmlSchemaCleanupTypes">xmlSchemaCleanupTypes</a> (void)</pre> <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlSchemaCollapseString">xmlSchemaCollapseString</a> (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre> diff --git a/doc/html/libxml-xmlstring.html b/doc/html/libxml-xmlstring.html index dc8248c4..69400842 100644 --- a/doc/html/libxml-xmlstring.html +++ b/doc/html/libxml-xmlstring.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xmlstring from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlstring from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlschemastypes.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlschemastypes.html">xmlschemastypes</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlunicode.html">xmlunicode</a></th><td><a accesskey="n" href="libxml-xmlunicode.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>type and interfaces needed for the internal string handling of the library, especially UTF8 processing. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#BAD_CAST">BAD_CAST</a></pre><pre class="programlisting">Typedef unsigned char <a name="xmlChar" id="xmlChar">xmlChar</a> + </style><title>Module xmlstring from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlstring from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlschemastypes.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlschemastypes.html">xmlschemastypes</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlunicode.html">xmlunicode</a></th><td><a accesskey="n" href="libxml-xmlunicode.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>type and interfaces needed for the internal string handling of the library, especially UTF8 processing. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#BAD_CAST">BAD_CAST</a></pre><pre class="programlisting">Typedef unsigned char <a name="xmlChar" id="xmlChar">xmlChar</a> </pre><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlCharStrdup">xmlCharStrdup</a> (const char * cur)</pre> <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlCharStrndup">xmlCharStrndup</a> (const char * cur, <br /> int len)</pre> <pre class="programlisting">int <a href="#xmlCheckUTF8">xmlCheckUTF8</a> (const unsigned char * utf)</pre> diff --git a/doc/html/libxml-xmlunicode.html b/doc/html/libxml-xmlunicode.html index 87094eec..c7a3a3b2 100644 --- a/doc/html/libxml-xmlunicode.html +++ b/doc/html/libxml-xmlunicode.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xmlunicode from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlunicode from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlstring.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlstring.html">xmlstring</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlversion.html">xmlversion</a></th><td><a accesskey="n" href="libxml-xmlversion.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API for the Unicode character APIs This file is automatically generated from the UCS description files of the Unicode Character Database</p><h2>Table of Contents</h2><pre class="programlisting">int <a href="#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a> (int code)</pre> + </style><title>Module xmlunicode from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlunicode from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlstring.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlstring.html">xmlstring</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlversion.html">xmlversion</a></th><td><a accesskey="n" href="libxml-xmlversion.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API for the Unicode character APIs This file is automatically generated from the UCS description files of the Unicode Character Database</p><h2>Table of Contents</h2><pre class="programlisting">int <a href="#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a> (int code)</pre> <pre class="programlisting">int <a href="#xmlUCSIsAlphabeticPresentationForms">xmlUCSIsAlphabeticPresentationForms</a> (int code)</pre> <pre class="programlisting">int <a href="#xmlUCSIsArabic">xmlUCSIsArabic</a> (int code)</pre> <pre class="programlisting">int <a href="#xmlUCSIsArabicPresentationFormsA">xmlUCSIsArabicPresentationFormsA</a> (int code)</pre> diff --git a/doc/html/libxml-xmlversion.html b/doc/html/libxml-xmlversion.html index 30e9f0e9..86904681 100644 --- a/doc/html/libxml-xmlversion.html +++ b/doc/html/libxml-xmlversion.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xmlversion from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlversion from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlunicode.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlunicode.html">xmlunicode</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlwriter.html">xmlwriter</a></th><td><a accesskey="n" href="libxml-xmlwriter.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>compile-time version informations for the XML library </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a></pre><pre class="programlisting">#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a></pre><pre class="programlisting">#define <a href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a></pre><pre class="programlisting">#define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a></pre><pre class="programlisting">#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a></pre><pre class="programlisting">#define <a href="#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_VERSION">LIBXML_VERSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a></pre><pre class="programlisting">#define <a href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a></pre><pre class="programlisting">#define <a href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a></pre><pre class="programlisting">#define <a href="#WITHOUT_TRIO">WITHOUT_TRIO</a></pre><pre class="programlisting">#define <a href="#WITH_TRIO">WITH_TRIO</a></pre><pre class="programlisting">void <a href="#xmlCheckVersion">xmlCheckVersion</a> (int version)</pre> + </style><title>Module xmlversion from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlversion from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlunicode.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlunicode.html">xmlunicode</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlwriter.html">xmlwriter</a></th><td><a accesskey="n" href="libxml-xmlwriter.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>compile-time version informations for the XML library </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a></pre><pre class="programlisting">#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a></pre><pre class="programlisting">#define <a href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a></pre><pre class="programlisting">#define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a></pre><pre class="programlisting">#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a></pre><pre class="programlisting">#define <a href="#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_VERSION">LIBXML_VERSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a></pre><pre class="programlisting">#define <a href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a></pre><pre class="programlisting">#define <a href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a></pre><pre class="programlisting">#define <a href="#WITHOUT_TRIO">WITHOUT_TRIO</a></pre><pre class="programlisting">#define <a href="#WITH_TRIO">WITH_TRIO</a></pre><pre class="programlisting">void <a href="#xmlCheckVersion">xmlCheckVersion</a> (int version)</pre> <h2>Description</h2> <h3><a name="ATTRIBUTE_UNUSED" id="ATTRIBUTE_UNUSED"></a>Macro: ATTRIBUTE_UNUSED</h3><pre>#define ATTRIBUTE_UNUSED</pre><p>Macro used to signal to GCC unused function parameters</p> <h3><a name="DEBUG_MEMORY_LOCATION" id="DEBUG_MEMORY_LOCATION"></a>Macro: DEBUG_MEMORY_LOCATION</h3><pre>#define DEBUG_MEMORY_LOCATION</pre><p>Whether the memory debugging is configured in</p> @@ -23,7 +23,7 @@ A:link, A:visited, A:active { text-decoration: underline } <h3><a name="LIBXML_DEBUG_RUNTIME" id="LIBXML_DEBUG_RUNTIME"></a>Macro: LIBXML_DEBUG_RUNTIME</h3><pre>#define LIBXML_DEBUG_RUNTIME</pre><p>Whether the runtime debugging is configured in</p> <h3><a name="LIBXML_DOCB_ENABLED" id="LIBXML_DOCB_ENABLED"></a>Macro: LIBXML_DOCB_ENABLED</h3><pre>#define LIBXML_DOCB_ENABLED</pre><p>Whether the SGML Docbook support is configured in</p> <h3><a name="LIBXML_DOTTED_VERSION" id="LIBXML_DOTTED_VERSION"></a>Macro: LIBXML_DOTTED_VERSION</h3><pre>#define LIBXML_DOTTED_VERSION</pre><p>the version string like "1.2.3"</p> -<h3><a name="LIBXML_EXPR_ENABLED" id="LIBXML_EXPR_ENABLED"></a>Macro: LIBXML_EXPR_ENABLED</h3><pre>#define LIBXML_EXPR_ENABLED</pre><p>Whether the formal expressions interfaces are compiled in</p> +<h3><a name="LIBXML_EXPR_ENABLED" id="LIBXML_EXPR_ENABLED"></a>Macro: LIBXML_EXPR_ENABLED</h3><pre>#define LIBXML_EXPR_ENABLED</pre><p>Whether the formal expressions interfaces are compiled in This code is unused and disabled unconditionally for now.</p> <h3><a name="LIBXML_FTP_ENABLED" id="LIBXML_FTP_ENABLED"></a>Macro: LIBXML_FTP_ENABLED</h3><pre>#define LIBXML_FTP_ENABLED</pre><p>Whether the FTP support is configured in</p> <h3><a name="LIBXML_HTML_ENABLED" id="LIBXML_HTML_ENABLED"></a>Macro: LIBXML_HTML_ENABLED</h3><pre>#define LIBXML_HTML_ENABLED</pre><p>Whether the HTML support is configured in</p> <h3><a name="LIBXML_HTTP_ENABLED" id="LIBXML_HTTP_ENABLED"></a>Macro: LIBXML_HTTP_ENABLED</h3><pre>#define LIBXML_HTTP_ENABLED</pre><p>Whether the HTTP support is configured in</p> diff --git a/doc/html/libxml-xmlwriter.html b/doc/html/libxml-xmlwriter.html index e09ff593..c44d2ac0 100644 --- a/doc/html/libxml-xmlwriter.html +++ b/doc/html/libxml-xmlwriter.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xmlwriter from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlwriter from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlversion.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlversion.html">xmlversion</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xpath.html">xpath</a></th><td><a accesskey="n" href="libxml-xpath.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>text writing API for XML </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a></pre><pre class="programlisting">#define <a href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a></pre><pre class="programlisting">Structure <a href="#xmlTextWriter">xmlTextWriter</a><br />struct _xmlTextWriter + </style><title>Module xmlwriter from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlwriter from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlversion.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlversion.html">xmlversion</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xpath.html">xpath</a></th><td><a accesskey="n" href="libxml-xpath.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>text writing API for XML </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a></pre><pre class="programlisting">#define <a href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a></pre><pre class="programlisting">Structure <a href="#xmlTextWriter">xmlTextWriter</a><br />struct _xmlTextWriter The content of this structure is not made public by the API. </pre><pre class="programlisting">Typedef <a href="libxml-xmlwriter.html#xmlTextWriter">xmlTextWriter</a> * <a name="xmlTextWriterPtr" id="xmlTextWriterPtr">xmlTextWriterPtr</a> </pre><pre class="programlisting">void <a href="#xmlFreeTextWriter">xmlFreeTextWriter</a> (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre> @@ -117,7 +117,7 @@ The content of this structure is not made public by the API. <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterEndCDATA" id="xmlTextWriterEndCDATA"></a>Function: xmlTextWriterEndCDATA</h3><pre class="programlisting">int xmlTextWriterEndCDATA (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br /> </pre><p>End an xml CDATA section.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterEndComment" id="xmlTextWriterEndComment"></a>Function: xmlTextWriterEndComment</h3><pre class="programlisting">int xmlTextWriterEndComment (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br /> -</pre><p>End the current xml coment.</p> +</pre><p>End the current xml comment.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterEndDTD" id="xmlTextWriterEndDTD"></a>Function: xmlTextWriterEndDTD</h3><pre class="programlisting">int xmlTextWriterEndDTD (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br /> </pre><p>End an xml DTD.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterEndDTDAttlist" id="xmlTextWriterEndDTDAttlist"></a>Function: xmlTextWriterEndDTDAttlist</h3><pre class="programlisting">int xmlTextWriterEndDTDAttlist (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br /> diff --git a/doc/html/libxml-xpath.html b/doc/html/libxml-xpath.html index 482a983f..5bdd564b 100644 --- a/doc/html/libxml-xpath.html +++ b/doc/html/libxml-xpath.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xpath from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xpath from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlwriter.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlwriter.html">xmlwriter</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xpathInternals.html">xpathInternals</a></th><td><a accesskey="n" href="libxml-xpathInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API for the XML Path Language implementation XML Path Language implementation XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer</p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a></pre><pre class="programlisting">#define <a href="#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a></pre><pre class="programlisting">#define <a href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a></pre><pre class="programlisting">#define <a href="#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a></pre><pre class="programlisting">#define <a href="#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a></pre><pre class="programlisting">Structure <a href="#xmlNodeSet">xmlNodeSet</a><br />struct _xmlNodeSet + </style><title>Module xpath from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xpath from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlwriter.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlwriter.html">xmlwriter</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xpathInternals.html">xpathInternals</a></th><td><a accesskey="n" href="libxml-xpathInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API for the XML Path Language implementation XML Path Language implementation XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer</p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a></pre><pre class="programlisting">#define <a href="#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a></pre><pre class="programlisting">#define <a href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a></pre><pre class="programlisting">#define <a href="#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a></pre><pre class="programlisting">#define <a href="#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a></pre><pre class="programlisting">Structure <a href="#xmlNodeSet">xmlNodeSet</a><br />struct _xmlNodeSet </pre><pre class="programlisting">Typedef <a href="libxml-xpath.html#xmlNodeSet">xmlNodeSet</a> * <a name="xmlNodeSetPtr" id="xmlNodeSetPtr">xmlNodeSetPtr</a> </pre><pre class="programlisting">Structure <a href="#xmlXPathAxis">xmlXPathAxis</a><br />struct _xmlXPathAxis </pre><pre class="programlisting">Typedef <a href="libxml-xpath.html#xmlXPathAxis">xmlXPathAxis</a> * <a name="xmlXPathAxisPtr" id="xmlXPathAxisPtr">xmlXPathAxisPtr</a> @@ -143,7 +143,12 @@ The content of this structure is not made public by the API. <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> debugNode : the source node XSLT dictionary <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict : dictionary if any int flags : flags to control compilation Cache for - void * cache + void * cache : Resource limits + unsigned long opLimit + unsigned long opCount + int depth + int maxDepth + int maxParserDepth }</pre><h3>Enum <a name="xmlXPathError" id="xmlXPathError">xmlXPathError</a></h3><pre class="programlisting">Enum xmlXPathError { <a name="XPATH_EXPRESSION_OK" id="XPATH_EXPRESSION_OK">XPATH_EXPRESSION_OK</a> = 0 <a name="XPATH_NUMBER_ERROR" id="XPATH_NUMBER_ERROR">XPATH_NUMBER_ERROR</a> = 1 @@ -170,6 +175,8 @@ The content of this structure is not made public by the API. <a name="XPATH_INVALID_CTXT" id="XPATH_INVALID_CTXT">XPATH_INVALID_CTXT</a> = 22 <a name="XPATH_STACK_ERROR" id="XPATH_STACK_ERROR">XPATH_STACK_ERROR</a> = 23 <a name="XPATH_FORBID_VARIABLE_ERROR" id="XPATH_FORBID_VARIABLE_ERROR">XPATH_FORBID_VARIABLE_ERROR</a> = 24 + <a name="XPATH_OP_LIMIT_EXCEEDED" id="XPATH_OP_LIMIT_EXCEEDED">XPATH_OP_LIMIT_EXCEEDED</a> = 25 + <a name="XPATH_RECURSION_LIMIT_EXCEEDED" id="XPATH_RECURSION_LIMIT_EXCEEDED">XPATH_RECURSION_LIMIT_EXCEEDED</a> = 26 } </pre><h3><a name="xmlXPathFunct" id="xmlXPathFunct">Structure xmlXPathFunct</a></h3><pre class="programlisting">Structure xmlXPathFunct<br />struct _xmlXPathFunct { const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name : the function name @@ -256,7 +263,7 @@ The content of this structure is not made public by the API. </pre><p>Applies the XPath boolean() function on the result of the given compiled expression.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled XPath expression</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the expression evaluated to true, 0 if to false and -1 in API and internal errors.</td></tr></tbody></table></div><h3><a name="xmlXPathContextSetCache" id="xmlXPathContextSetCache"></a>Function: xmlXPathContextSetCache</h3><pre class="programlisting">int xmlXPathContextSetCache (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br /> int active, <br /> int value, <br /> int options)<br /> </pre><p>Creates/frees an object cache on the XPath context. If activates XPath objects (xmlXPathObject) will be cached internally to be reused. @options: 0: This will set the XPath object caching: @value: This will set the maximum number of XPath objects to be cached per slot There are 5 slots for: node-set, string, number, boolean, and misc objects. Use <0 for the default number (100). Other values for @options have currently no effect.</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>active</tt></i>:</span></td><td>enables/disables (creates/frees) the cache</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a value with semantics dependant on @options</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>options (currently only the value 0 is used)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the setting succeeded, and -1 on API or internal errors.</td></tr></tbody></table></div><h3><a name="xmlXPathConvertBoolean" id="xmlXPathConvertBoolean"></a>Function: xmlXPathConvertBoolean</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathConvertBoolean (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br /> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>active</tt></i>:</span></td><td>enables/disables (creates/frees) the cache</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a value with semantics dependent on @options</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>options (currently only the value 0 is used)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the setting succeeded, and -1 on API or internal errors.</td></tr></tbody></table></div><h3><a name="xmlXPathConvertBoolean" id="xmlXPathConvertBoolean"></a>Function: xmlXPathConvertBoolean</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathConvertBoolean (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br /> </pre><p>Converts an existing object to its boolean() equivalent</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new object, the old one is freed (or the operation is done directly on @val)</td></tr></tbody></table></div><h3><a name="xmlXPathConvertFunc" id="xmlXPathConvertFunc"></a>Function type: xmlXPathConvertFunc</h3><pre class="programlisting">Function type: xmlXPathConvertFunc int xmlXPathConvertFunc (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj, <br /> int type) @@ -293,7 +300,7 @@ void xmlXPathEvalFunc (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xml void xmlXPathFunction (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br /> int nargs) </pre><p>An XPath function. The arguments (if any) are popped out from the context stack and the result is pushed on the stack.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath interprestation context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><br /> <h3><a name="xmlXPathInit" id="xmlXPathInit"></a>Function: xmlXPathInit</h3><pre class="programlisting">void xmlXPathInit (void)<br /> -</pre><p>Initialize the XPath environment Does nothing but must be kept as public function.</p> +</pre><p>Initialize the XPath environment</p> <h3><a name="xmlXPathIsInf" id="xmlXPathIsInf"></a>Function: xmlXPathIsInf</h3><pre class="programlisting">int xmlXPathIsInf (double val)<br /> </pre><p></p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a double value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the value is +Infinite, -1 if -Infinite, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlXPathIsNaN" id="xmlXPathIsNaN"></a>Function: xmlXPathIsNaN</h3><pre class="programlisting">int xmlXPathIsNaN (double val)<br /> diff --git a/doc/html/libxml-xpathInternals.html b/doc/html/libxml-xpathInternals.html index 49546aba..8b894af7 100644 --- a/doc/html/libxml-xpathInternals.html +++ b/doc/html/libxml-xpathInternals.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xpathInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xpathInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpath.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xpath.html">xpath</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xpointer.html">xpointer</a></th><td><a accesskey="n" href="libxml-xpointer.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>internal interfaces for XML Path Language implementation used to build new modules on top of XPath like XPointer and XSLT </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a></pre><pre class="programlisting">#define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a></pre><pre class="programlisting">#define <a href="#CAST_TO_STRING">CAST_TO_STRING</a></pre><pre class="programlisting">#define <a href="#CHECK_ARITY">CHECK_ARITY</a></pre><pre class="programlisting">#define <a href="#CHECK_ERROR">CHECK_ERROR</a></pre><pre class="programlisting">#define <a href="#CHECK_ERROR0">CHECK_ERROR0</a></pre><pre class="programlisting">#define <a href="#CHECK_TYPE">CHECK_TYPE</a></pre><pre class="programlisting">#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a></pre><pre class="programlisting">#define <a href="#XP_ERROR">XP_ERROR</a></pre><pre class="programlisting">#define <a href="#XP_ERROR0">XP_ERROR0</a></pre><pre class="programlisting">#define <a href="#xmlXPathCheckError">xmlXPathCheckError</a></pre><pre class="programlisting">#define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a></pre><pre class="programlisting">#define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a></pre><pre class="programlisting">#define <a href="#xmlXPathGetDocument">xmlXPathGetDocument</a></pre><pre class="programlisting">#define <a href="#xmlXPathGetError">xmlXPathGetError</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnString">xmlXPathReturnString</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a></pre><pre class="programlisting">#define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a></pre><pre class="programlisting">#define <a href="#xmlXPathSetError">xmlXPathSetError</a></pre><pre class="programlisting">#define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a></pre><pre class="programlisting">#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a></pre><pre class="programlisting">#define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a></pre><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#valuePop">valuePop</a> (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre> + </style><title>Module xpathInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xpathInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpath.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xpath.html">xpath</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xpointer.html">xpointer</a></th><td><a accesskey="n" href="libxml-xpointer.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>internal interfaces for XML Path Language implementation used to build new modules on top of XPath like XPointer and XSLT </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a></pre><pre class="programlisting">#define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a></pre><pre class="programlisting">#define <a href="#CAST_TO_STRING">CAST_TO_STRING</a></pre><pre class="programlisting">#define <a href="#CHECK_ARITY">CHECK_ARITY</a></pre><pre class="programlisting">#define <a href="#CHECK_ERROR">CHECK_ERROR</a></pre><pre class="programlisting">#define <a href="#CHECK_ERROR0">CHECK_ERROR0</a></pre><pre class="programlisting">#define <a href="#CHECK_TYPE">CHECK_TYPE</a></pre><pre class="programlisting">#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a></pre><pre class="programlisting">#define <a href="#XP_ERROR">XP_ERROR</a></pre><pre class="programlisting">#define <a href="#XP_ERROR0">XP_ERROR0</a></pre><pre class="programlisting">#define <a href="#xmlXPathCheckError">xmlXPathCheckError</a></pre><pre class="programlisting">#define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a></pre><pre class="programlisting">#define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a></pre><pre class="programlisting">#define <a href="#xmlXPathGetDocument">xmlXPathGetDocument</a></pre><pre class="programlisting">#define <a href="#xmlXPathGetError">xmlXPathGetError</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnString">xmlXPathReturnString</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a></pre><pre class="programlisting">#define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a></pre><pre class="programlisting">#define <a href="#xmlXPathSetError">xmlXPathSetError</a></pre><pre class="programlisting">#define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a></pre><pre class="programlisting">#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a></pre><pre class="programlisting">#define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a></pre><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#valuePop">valuePop</a> (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre> <pre class="programlisting">int <a href="#valuePush">valuePush</a> (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br /> <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)</pre> <pre class="programlisting">void <a href="#xmlXPathAddValues">xmlXPathAddValues</a> (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre> <pre class="programlisting">void <a href="#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a> (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br /> int nargs)</pre> @@ -160,8 +160,8 @@ A:link, A:visited, A:active { text-decoration: underline } <h3><a name="valuePop" id="valuePop"></a>Function: valuePop</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> valuePop (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br /> </pre><p>Pops the top XPath object from the value stack</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath object just removed</td></tr></tbody></table></div><h3><a name="valuePush" id="valuePush"></a>Function: valuePush</h3><pre class="programlisting">int valuePush (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br /> <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br /> -</pre><p>Pushes a new XPath object on top of the value stack</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of items on the value stack</td></tr></tbody></table></div><h3><a name="xmlXPathAddValues" id="xmlXPathAddValues"></a>Function: xmlXPathAddValues</h3><pre class="programlisting">void xmlXPathAddValues (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br /> +</pre><p>Pushes a new XPath object on top of the value stack. If value is NULL, a memory error is recorded in the parser context.</p> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of items on the value stack, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlXPathAddValues" id="xmlXPathAddValues"></a>Function: xmlXPathAddValues</h3><pre class="programlisting">void xmlXPathAddValues (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br /> </pre><p>Implement the add operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div><h3><a name="xmlXPathBooleanFunction" id="xmlXPathBooleanFunction"></a>Function: xmlXPathBooleanFunction</h3><pre class="programlisting">void xmlXPathBooleanFunction (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br /> int nargs)<br /> </pre><p>Implement the boolean() XPath function boolean boolean(object) The boolean function converts its argument to a boolean as follows: - a number is true if and only if it is neither positive or negative zero nor NaN - a node-set is true if and only if it is non-empty - a string is true if and only if its length is non-zero</p> diff --git a/doc/html/libxml-xpointer.html b/doc/html/libxml-xpointer.html index 66eb80bd..b4d8b54f 100644 --- a/doc/html/libxml-xpointer.html +++ b/doc/html/libxml-xpointer.html @@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline } </style><style type="text/css"> div.deprecated pre.programlisting {border-style: double;border-color:red} pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xpointer from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xpointer from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpathInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xpathInternals.html">xpathInternals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th></tr></table><p>API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 June 2000</p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlLocationSet">xmlLocationSet</a><br />struct _xmlLocationSet + </style><title>Module xpointer from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xpointer from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpathInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xpathInternals.html">xpathInternals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th></tr></table><p>API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 June 2000</p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlLocationSet">xmlLocationSet</a><br />struct _xmlLocationSet </pre><pre class="programlisting">Typedef <a href="libxml-xpointer.html#xmlLocationSet">xmlLocationSet</a> * <a name="xmlLocationSetPtr" id="xmlLocationSetPtr">xmlLocationSetPtr</a> </pre><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a> (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)</pre> <pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPtrEval">xmlXPtrEval</a> (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br /> <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)</pre> diff --git a/doc/html/libxml-xzlib.html b/doc/html/libxml-xzlib.html deleted file mode 100644 index c4dfdc3b..00000000 --- a/doc/html/libxml-xzlib.html +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css"> -TD {font-family: Verdana,Arial,Helvetica} -BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em} -H1 {font-family: Verdana,Arial,Helvetica} -H2 {font-family: Verdana,Arial,Helvetica} -H3 {font-family: Verdana,Arial,Helvetica} -A:link, A:visited, A:active { text-decoration: underline } -</style><style type="text/css"> - div.deprecated pre.programlisting {border-style: double;border-color:red} - pre.programlisting {border-style: double;background: #EECFA1} - </style><title>Module xzlib from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xzlib from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpointer.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xpointer.html">xpointer</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th></tr></table><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#LIBXML2_XZLIB_H">LIBXML2_XZLIB_H</a></pre><pre class="programlisting">Typedef void * <a name="xzFile" id="xzFile">xzFile</a> -</pre><h2>Description</h2> -<h3><a name="LIBXML2_XZLIB_H" id="LIBXML2_XZLIB_H"></a>Macro: LIBXML2_XZLIB_H</h3><pre>#define LIBXML2_XZLIB_H</pre><p></p> -<p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html> diff --git a/doc/html/libxml.devhelp b/doc/html/libxml.devhelp index 006b4bfe..d26d4d85 100644 --- a/doc/html/libxml.devhelp +++ b/doc/html/libxml.devhelp @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<book xmlns="http://www.devhelp.net/book" title="Gnome XML Library Reference Manual " link="index.html" author="" name="libxml"> +<book xmlns="http://www.devhelp.net/book" title="Gnome XML Library Reference Manual " link="index.html" version="2" author="" name="libxml"> <chapters> <sub name="Libxml Programming Notes" link="ch01.html"> <sub name="testOOMlib" link="libxml-testOOMlib.html"/> diff --git a/doc/index.html b/doc/index.html index 803b7952..43cda484 100644 --- a/doc/index.html +++ b/doc/index.html @@ -12,7 +12,7 @@ A:link, A:visited, A:active { text-decoration: underline } <title>The XML C parser and toolkit of Gnome</title> </head> -<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>libxml</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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></p><p style="text-align: right; font-style: italic; font-size: 10pt">"Programming +<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>libxml</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p></p><p style="text-align: right; font-style: italic; font-size: 10pt">"Programming with libxml2 is like the thrilling embrace of an exotic stranger." <a href="http://diveintomark.org/archives/2004/02/18/libxml2">Mark Pilgrim</a></p><p>Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform), it is free software available diff --git a/doc/index.py b/doc/index.py index 1895d84d..e254dc4a 100755 --- a/doc/index.py +++ b/doc/index.py @@ -28,8 +28,8 @@ # Bye # # Then run the script in the doc subdir, it will create the symbols and -# word tables and populate them with informations extracted from -# the libxml2-api.xml API description, and make then accessible read-only +# word tables and populate them with information extracted from +# the libxml2-api.xml API description, and make them accessible read-only # by nobody@loaclhost the user expected to be Apache's one # # On the Apache configuration, make sure you have php support enabled @@ -1177,7 +1177,7 @@ def analyzeAPITop(): try: doc = loadAPI(API) ret = analyzeAPI(doc) - print "Analyzed %d blocs" % (ret) + print "Analyzed %d blocks" % (ret) doc.freeDoc() except: print "Failed to parse and analyze %s" % (API) diff --git a/doc/interface.html b/doc/interface.html index ce1caf3e..0372a054 100644 --- a/doc/interface.html +++ b/doc/interface.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>The SAX interface</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>The SAX interface</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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>Sometimes the DOM tree output is just too large to fit reasonably into +</style><title>The SAX interface</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>The SAX interface</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Sometimes the DOM tree output is just too large to fit reasonably into memory. In that case (and if you don't expect to save back the XML document loaded using libxml), it's better to use the SAX interface of libxml. SAX is a <strong>callback-based interface</strong> to the parser. Before parsing, diff --git a/doc/intro.html b/doc/intro.html index 551bea43..efa0788a 100644 --- a/doc/intro.html +++ b/doc/intro.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Introduction</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Introduction</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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>This document describes libxml, the <a href="http://www.w3.org/XML/">XML</a> C parser and toolkit developed for the +</style><title>Introduction</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Introduction</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="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 & 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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>This document describes libxml, the <a href="http://www.w3.org/XML/">XML</a> C parser and toolkit developed for the <a href="http://www.gnome.org/">Gnome</a> project. <a href="http://www.w3.org/XML/">XML is a standard</a> for building tag-based structured documents/data.</p><p>Here are some key points about libxml:</p><ul> <li>Libxml2 exports Push (progressive) and Pull (blocking) type parser diff --git a/doc/library.html b/doc/library.html index e51139a9..a3e9a579 100644 --- a/doc/library.html +++ b/doc/library.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>The parser interfaces</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>The parser interfaces</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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>This section is directly intended to help programmers getting bootstrapped +</style><title>The parser interfaces</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>The parser interfaces</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>This section is directly intended to help programmers getting bootstrapped using the XML tollkit from the C language. It is not intended to be extensive. I hope the automatically generated documents will provide the completeness required, but as a separate set of documents. The interfaces of diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml index 9cf6c72e..f264a298 100644 --- a/doc/libxml2-api.xml +++ b/doc/libxml2-api.xml @@ -2789,12 +2789,11 @@ <summary>macros for marking symbols as exportable/importable.</summary> <description>macros for marking symbols as exportable/importable. </description> <author>Igor Zlatovic <igor@zlatkovic.com> </author> - <exports symbol='_REENTRANT' type='macro'/> - <exports symbol='XMLCDECL' type='macro'/> - <exports symbol='XMLPUBVAR' type='macro'/> - <exports symbol='LIBXML_DLL_IMPORT' type='macro'/> <exports symbol='XMLCALL' type='macro'/> + <exports symbol='XMLPUBVAR' type='macro'/> + <exports symbol='XMLCDECL' type='macro'/> <exports symbol='XMLPUBFUN' type='macro'/> + <exports symbol='LIBXML_DLL_IMPORT' type='macro'/> </file> <file name='xmlmemory'> <summary>interface for the memory allocator</summary> @@ -3536,7 +3535,7 @@ <exports symbol='XPATH_UNDEF_VARIABLE_ERROR' type='enum'/> <exports symbol='XPATH_EXPRESSION_OK' type='enum'/> <exports symbol='XPATH_NODESET' type='enum'/> - <exports symbol='XPTR_SUB_RESOURCE_ERROR' type='enum'/> + <exports symbol='XPATH_OP_LIMIT_EXCEEDED' type='enum'/> <exports symbol='XPATH_VARIABLE_REF_ERROR' type='enum'/> <exports symbol='XPATH_ENCODING_ERROR' type='enum'/> <exports symbol='XPTR_RESOURCE_ERROR' type='enum'/> @@ -3551,8 +3550,10 @@ <exports symbol='XPATH_LOCATIONSET' type='enum'/> <exports symbol='XPATH_INVALID_CTXT' type='enum'/> <exports symbol='XPATH_INVALID_ARITY' type='enum'/> + <exports symbol='XPTR_SUB_RESOURCE_ERROR' type='enum'/> <exports symbol='XPATH_STRING' type='enum'/> <exports symbol='XPATH_INVALID_PREDICATE_ERROR' type='enum'/> + <exports symbol='XPATH_RECURSION_LIMIT_EXCEEDED' type='enum'/> <exports symbol='XPATH_XSLT_TREE' type='enum'/> <exports symbol='XPATH_EXPR_ERROR' type='enum'/> <exports symbol='XPATH_FORBID_VARIABLE_ERROR' type='enum'/> @@ -3997,7 +3998,7 @@ <info>the version string like "1.2.3"</info> </macro> <macro name='LIBXML_EXPR_ENABLED' file='xmlversion'> - <info>Whether the formal expressions interfaces are compiled in</info> + <info>Whether the formal expressions interfaces are compiled in This code is unused and disabled unconditionally for now.</info> </macro> <macro name='LIBXML_FTP_ENABLED' file='xmlversion'> <info>Whether the FTP support is configured in</info> @@ -4162,7 +4163,7 @@ <info>The namespace for the XML Catalogs elements.</info> </macro> <macro name='XML_CATALOG_PI' file='catalog'> - <info>The specific XML Catalog Processing Instuction name.</info> + <info>The specific XML Catalog Processing Instruction name.</info> </macro> <macro name='XML_COMPLETE_ATTRS' file='parser'> <info>Bit in the loadsubset context field to tell to do complete the elements attributes lists with the ones defaulted from the DTDs. Use it to initialize xmlLoadExtDtdDefaultValue.</info> @@ -4198,7 +4199,7 @@ <info>Identifiers can be longer, but this will be more costly at runtime.</info> </macro> <macro name='XML_MAX_NAME_LENGTH' file='parserInternals'> - <info>Maximum size allowed for a markup identitier This is not a limitation of the parser but a safety boundary feature, use XML_PARSE_HUGE option to override it. Note that with the use of parsing dictionaries overriding the limit may result in more runtime memory usage in face of "unfriendly' content Introduced in 2.9.0</info> + <info>Maximum size allowed for a markup identifier. This is not a limitation of the parser but a safety boundary feature, use XML_PARSE_HUGE option to override it. Note that with the use of parsing dictionaries overriding the limit may result in more runtime memory usage in face of "unfriendly' content Introduced in 2.9.0</info> </macro> <macro name='XML_MAX_TEXT_LENGTH' file='parserInternals'> <info>Maximum size allowed for a single text node when building a tree. This is not a limitation of the parser but a safety boundary feature, use XML_PARSE_HUGE option to override it. Introduced in 2.9.0</info> @@ -4225,7 +4226,7 @@ <info>Used by wildcards. Apply strict validation rules</info> </macro> <macro name='XML_SCHEMAS_ATTRGROUP_GLOBAL' file='schemasInternals'> - <info>The attribute wildcard has been already builded.</info> + <info>The attribute group has been defined.</info> </macro> <macro name='XML_SCHEMAS_ATTRGROUP_HAS_REFS' file='schemasInternals'> <info>Whether this attr. group contains attr. group references.</info> @@ -4237,7 +4238,7 @@ <info>The attr group was redefined.</info> </macro> <macro name='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED' file='schemasInternals'> - <info>The attribute wildcard has been already builded.</info> + <info>The attribute wildcard has been built.</info> </macro> <macro name='XML_SCHEMAS_ATTR_FIXED' file='schemasInternals'> <info>the attribute has a fixed value</info> @@ -4282,7 +4283,7 @@ <info>disallowed substitutions: "restriction"</info> </macro> <macro name='XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION' file='schemasInternals'> - <info>disallowed substitutions: "substituion"</info> + <info>disallowed substitutions: "substitution"</info> </macro> <macro name='XML_SCHEMAS_ELEM_CIRCULAR' file='schemasInternals'> <info>a helper flag for the search of circular references.</info> @@ -4342,7 +4343,7 @@ <info>the schema has "extension" in the set of finalDefault.</info> </macro> <macro name='XML_SCHEMAS_FINAL_DEFAULT_LIST' file='schemasInternals'> - <info>the cshema has "list" in the set of finalDefault.</info> + <info>the schema has "list" in the set of finalDefault.</info> </macro> <macro name='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION' file='schemasInternals'> <info>the schema has "restriction" in the set of finalDefault.</info> @@ -4487,8 +4488,6 @@ <info>Macro to raise an XPath error and return 0.</info> <arg name='X' info='the error code'/> </macro> - <macro name='_REENTRANT' file='xmlexports'> - </macro> <macro name='htmlDefaultSubelement' file='HTMLparser'> <info>Returns the default subelement for this element</info> <arg name='elt' info='HTML element'/> @@ -4714,7 +4713,7 @@ <enum name='XML_BUFFER_ALLOC_IMMUTABLE' file='tree' value='3' type='xmlBufferAllocationScheme' info='immutable buffer'/> <enum name='XML_BUFFER_ALLOC_IO' file='tree' value='4' type='xmlBufferAllocationScheme' info='special allocation scheme used for I/O'/> <enum name='XML_BUF_OVERFLOW' file='xmlerror' value='7000' type='xmlParserErrors'/> - <enum name='XML_C14N_1_0' file='c14n' value='0' type='xmlC14NMode' info='Origianal C14N 1.0 spec'/> + <enum name='XML_C14N_1_0' file='c14n' value='0' type='xmlC14NMode' info='Original C14N 1.0 spec'/> <enum name='XML_C14N_1_1' file='c14n' value='2' type='xmlC14NMode' info=' C14N 1.1 spec'/> <enum name='XML_C14N_CREATE_CTXT' file='xmlerror' value='1950' type='xmlParserErrors'/> <enum name='XML_C14N_CREATE_STACK' file='xmlerror' value='1952' type='xmlParserErrors' info='1952'/> @@ -5163,7 +5162,7 @@ crash if you try to modify the tree)'/> <enum name='XML_PARSE_SAX' file='parser' value='2' type='xmlParserMode'/> <enum name='XML_PARSE_SAX1' file='parser' value='512' type='xmlParserOption' info='use the SAX1 interface internally'/> <enum name='XML_PARSE_UNKNOWN' file='parser' value='0' type='xmlParserMode'/> - <enum name='XML_PARSE_XINCLUDE' file='parser' value='1024' type='xmlParserOption' info='Implement XInclude substitition'/> + <enum name='XML_PARSE_XINCLUDE' file='parser' value='1024' type='xmlParserOption' info='Implement XInclude substitution'/> <enum name='XML_PATTERN_DEFAULT' file='pattern' value='0' type='xmlPatternFlags' info='simple pattern match'/> <enum name='XML_PATTERN_XPATH' file='pattern' value='1' type='xmlPatternFlags' info='standard XPath pattern'/> <enum name='XML_PATTERN_XSFIELD' file='pattern' value='4' type='xmlPatternFlags' info=' XPath subset for schema field'/> @@ -5894,8 +5893,10 @@ crash if you try to modify the tree)'/> <enum name='XPATH_NODESET' file='xpath' value='1' type='xmlXPathObjectType'/> <enum name='XPATH_NUMBER' file='xpath' value='3' type='xmlXPathObjectType'/> <enum name='XPATH_NUMBER_ERROR' file='xpath' value='1' type='xmlXPathError'/> + <enum name='XPATH_OP_LIMIT_EXCEEDED' file='xpath' value='25' type='xmlXPathError'/> <enum name='XPATH_POINT' file='xpath' value='5' type='xmlXPathObjectType'/> <enum name='XPATH_RANGE' file='xpath' value='6' type='xmlXPathObjectType'/> + <enum name='XPATH_RECURSION_LIMIT_EXCEEDED' file='xpath' value='26' type='xmlXPathError'/> <enum name='XPATH_STACK_ERROR' file='xpath' value='23' type='xmlXPathError'/> <enum name='XPATH_START_LITERAL_ERROR' file='xpath' value='3' type='xmlXPathError'/> <enum name='XPATH_STRING' file='xpath' value='4' type='xmlXPathObjectType'/> @@ -6115,7 +6116,7 @@ standalone attribute was specified'/> <field name='ids' type='void *' info=' Hash table for ID attributes if any'/> <field name='refs' type='void *' info=' Hash table for IDREFs attributes if any'/> <field name='URL' type='const xmlChar *' info=' The URI for that document'/> - <field name='charset' type='int' info=' encoding of the in-memory content + <field name='charset' type='int' info=' Internal flag for charset handling, actually an xmlCharEncoding'/> <field name='dict' type='struct _xmlDict *' info=' dict used to allocate names or NULL'/> <field name='psvi' type='void *' info=' for type/PSVI informations'/> @@ -6323,7 +6324,7 @@ set at the end of parsing'/> <struct name='xmlNodeSet' file='xpath' type='struct _xmlNodeSet'> <field name='nodeNr' type='int' info=' number of nodes in the set'/> <field name='nodeMax' type='int' info=' size of the array as allocated'/> - <field name='nodeTab' type='xmlNodePtr *' info=' array of nodes in no particular order @@ with_ns to check wether namespace nodes should be looked at @@'/> + <field name='nodeTab' type='xmlNodePtr *' info=' array of nodes in no particular order @@ with_ns to check whether namespace nodes should be looked at @@'/> </struct> <typedef name='xmlNodeSetPtr' file='xpath' type='xmlNodeSet *'/> <struct name='xmlNotation' file='tree' type='struct _xmlNotation'> @@ -6434,8 +6435,8 @@ actually an xmlCharEncoding'/> <field name='pushTab' type='void * *' info=' array of data for push'/> <field name='attsDefault' type='xmlHashTablePtr' info=' defaulted attributes if any'/> <field name='attsSpecial' type='xmlHashTablePtr' info=' non-CDATA attributes if any'/> - <field name='nsWellFormed' type='int' info=' is the document XML Nanespace okay'/> - <field name='options' type='int' info='* Those fields are needed only for treaming parsing so far + <field name='nsWellFormed' type='int' info=' is the document XML Namespace okay'/> + <field name='options' type='int' info='* Those fields are needed only for streaming parsing so far *'/> <field name='dictNames' type='int' info=' Use dictionary names for the tree'/> <field name='freeElemsNr' type='int' info=' number of freed element nodes'/> @@ -6635,7 +6636,7 @@ actually an xmlCharEncoding'/> <field name='dict' type='xmlDictPtr' info=''/> <field name='includes' type='void *' info=' the includes, this is opaque for now'/> <field name='preserve' type='int' info=' whether to free the document'/> - <field name='counter' type='int' info=' used to give ononymous components unique names'/> + <field name='counter' type='int' info=' used to give anonymous components unique names'/> <field name='idcDef' type='xmlHashTablePtr' info=' All identity-constraint defs.'/> <field name='volatiles' type='void *' info=' Obsolete'/> </struct> @@ -6716,7 +6717,7 @@ substitution group affiliation'/> <field name='contModel' type='xmlRegexpPtr' info=' Obsolete for WXS, maybe used for RelaxNG'/> <field name='contentType' type='xmlSchemaContentType' info=''/> <field name='refPrefix' type='const xmlChar *' info=' Deprecated; not used'/> - <field name='defVal' type='xmlSchemaValPtr' info=' The compiled value contraint.'/> + <field name='defVal' type='xmlSchemaValPtr' info=' The compiled value constraint.'/> <field name='idcs' type='void *' info=' The identity-constraint defs'/> </struct> <typedef name='xmlSchemaElementPtr' file='schemasInternals' type='xmlSchemaElement *'/> @@ -6930,7 +6931,12 @@ Could we use @subtypes for this?'/> <field name='debugNode' type='xmlNodePtr' info=' the source node XSLT dictionary'/> <field name='dict' type='xmlDictPtr' info=' dictionary if any'/> <field name='flags' type='int' info=' flags to control compilation Cache for reusal of XPath objects'/> - <field name='cache' type='void *' info=''/> + <field name='cache' type='void *' info=' Resource limits'/> + <field name='opLimit' type='unsigned long' info=''/> + <field name='opCount' type='unsigned long' info=''/> + <field name='depth' type='int' info=''/> + <field name='maxDepth' type='int' info=''/> + <field name='maxParserDepth' type='int' info=''/> </struct> <typedef name='xmlXPathContextPtr' file='xpath' type='xmlXPathContext *'/> <typedef name='xmlXPathError' file='xpath' type='enum'/> @@ -7552,7 +7558,7 @@ Could we use @subtypes for this?'/> </function> <function name='htmlDocContentDumpOutput' file='HTMLtree' module='HTMLtree'> <cond>defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)</cond> - <info>Dump an HTML document. Formating return/spaces are added.</info> + <info>Dump an HTML document. Formatting return/spaces are added.</info> <return type='void'/> <arg name='buf' type='xmlOutputBufferPtr' info='the HTML buffer output'/> <arg name='cur' type='xmlDocPtr' info='the document'/> @@ -8143,8 +8149,8 @@ Could we use @subtypes for this?'/> </function> <function name='valuePush' file='xpathInternals' module='xpath'> <cond>defined(LIBXML_XPATH_ENABLED)</cond> - <info>Pushes a new XPath object on top of the value stack</info> - <return type='int' info='the number of items on the value stack'/> + <info>Pushes a new XPath object on top of the value stack. If value is NULL, a memory error is recorded in the parser context.</info> + <return type='int' info='the number of items on the value stack, or -1 in case of error.'/> <arg name='ctxt' type='xmlXPathParserContextPtr' info='an XPath evaluation context'/> <arg name='value' type='xmlXPathObjectPtr' info='the XPath object'/> </function> @@ -8443,8 +8449,8 @@ Could we use @subtypes for this?'/> <arg name='from' type='xmlAutomataStatePtr' info='the starting point of the transition'/> <arg name='to' type='xmlAutomataStatePtr' info='the target point of the transition or NULL'/> <arg name='token' type='const xmlChar *' info='the input string associated to that transition'/> - <arg name='min' type='int' info='the minimum successive occurences of token'/> - <arg name='max' type='int' info='the maximum successive occurences of token'/> + <arg name='min' type='int' info='the minimum successive occurrences of token'/> + <arg name='max' type='int' info='the maximum successive occurrences of token'/> <arg name='data' type='void *' info='data associated to the transition'/> </function> <function name='xmlAutomataNewCountTrans2' file='xmlautomata' module='xmlregexp'> @@ -8456,8 +8462,8 @@ Could we use @subtypes for this?'/> <arg name='to' type='xmlAutomataStatePtr' info='the target point of the transition or NULL'/> <arg name='token' type='const xmlChar *' info='the input string associated to that transition'/> <arg name='token2' type='const xmlChar *' info='the second input string associated to that transition'/> - <arg name='min' type='int' info='the minimum successive occurences of token'/> - <arg name='max' type='int' info='the maximum successive occurences of token'/> + <arg name='min' type='int' info='the minimum successive occurrences of token'/> + <arg name='max' type='int' info='the maximum successive occurrences of token'/> <arg name='data' type='void *' info='data associated to the transition'/> </function> <function name='xmlAutomataNewCountedTrans' file='xmlautomata' module='xmlregexp'> @@ -8513,8 +8519,8 @@ Could we use @subtypes for this?'/> <arg name='from' type='xmlAutomataStatePtr' info='the starting point of the transition'/> <arg name='to' type='xmlAutomataStatePtr' info='the target point of the transition or NULL'/> <arg name='token' type='const xmlChar *' info='the input string associated to that transition'/> - <arg name='min' type='int' info='the minimum successive occurences of token'/> - <arg name='max' type='int' info='the maximum successive occurences of token'/> + <arg name='min' type='int' info='the minimum successive occurrences of token'/> + <arg name='max' type='int' info='the maximum successive occurrences of token'/> <arg name='data' type='void *' info='data associated to the transition'/> </function> <function name='xmlAutomataNewOnceTrans2' file='xmlautomata' module='xmlregexp'> @@ -8526,8 +8532,8 @@ Could we use @subtypes for this?'/> <arg name='to' type='xmlAutomataStatePtr' info='the target point of the transition or NULL'/> <arg name='token' type='const xmlChar *' info='the input string associated to that transition'/> <arg name='token2' type='const xmlChar *' info='the second input string associated to that transition'/> - <arg name='min' type='int' info='the minimum successive occurences of token'/> - <arg name='max' type='int' info='the maximum successive occurences of token'/> + <arg name='min' type='int' info='the minimum successive occurrences of token'/> + <arg name='max' type='int' info='the maximum successive occurrences of token'/> <arg name='data' type='void *' info='data associated to the transition'/> </function> <function name='xmlAutomataNewState' file='xmlautomata' module='xmlregexp'> @@ -8730,7 +8736,7 @@ Could we use @subtypes for this?'/> <arg name='len' type='int' info='preallocated memory length'/> </function> <function name='xmlBuildRelativeURI' file='uri' module='uri'> - <info>Expresses the URI of the reference in terms relative to the base. Some examples of this operation include: base = "http://site1.com/docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif pic1.gif http://site2.com/docs/pic1.gif http://site2.com/docs/pic1.gif base = "docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif Note: if the URI reference is really wierd or complicated, it may be worthwhile to first convert it into a "nice" one by calling xmlBuildURI (using 'base') before calling this routine, since this routine (for reasonable efficiency) assumes URI has already been through some validation.</info> + <info>Expresses the URI of the reference in terms relative to the base. Some examples of this operation include: base = "http://site1.com/docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif pic1.gif http://site2.com/docs/pic1.gif http://site2.com/docs/pic1.gif base = "docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif Note: if the URI reference is really weird or complicated, it may be worthwhile to first convert it into a "nice" one by calling xmlBuildURI (using 'base') before calling this routine, since this routine (for reasonable efficiency) assumes URI has already been through some validation.</info> <return type='xmlChar *' info='a new URI string (to be freed by the caller) or NULL in case error.'/> <arg name='URI' type='const xmlChar *' info='the URI reference under consideration'/> <arg name='base' type='const xmlChar *' info='the base value'/> @@ -8767,7 +8773,7 @@ Could we use @subtypes for this?'/> <arg name='inclusive_ns_prefixes' type='xmlChar **' info='the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)'/> <arg name='with_comments' type='int' info='include comments in the result (!=0) or not (==0)'/> <arg name='filename' type='const char *' info='the filename to store canonical XML image'/> - <arg name='compression' type='int' info='the compression level (zlib requred): -1 - libxml default, 0 - uncompressed, >0 - compression level'/> + <arg name='compression' type='int' info='the compression level (zlib required): -1 - libxml default, 0 - uncompressed, >0 - compression level'/> </function> <function name='xmlC14NDocSaveTo' file='c14n' module='c14n'> <cond>defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)</cond> @@ -8797,7 +8803,7 @@ Could we use @subtypes for this?'/> <info>Signature for a C14N callback on visible nodes</info> <return type='int' info='1 if the node should be included'/> <arg name='user_data' type='void *' info='user data'/> - <arg name='node' type='xmlNodePtr' info='the curent node'/> + <arg name='node' type='xmlNodePtr' info='the current node'/> <arg name='parent' type='xmlNodePtr' info='the parent node'/> </functype> <function name='xmlCanonicPath' file='uri' module='uri'> @@ -8932,12 +8938,12 @@ Could we use @subtypes for this?'/> <function name='xmlCharEncCloseFunc' file='encoding' module='encoding'> <info>Generic front-end for encoding handler close function</info> <return type='int' info='0 if success, or -1 in case of error'/> - <arg name='handler' type='xmlCharEncodingHandler *' info='char enconding transformation data structure'/> + <arg name='handler' type='xmlCharEncodingHandler *' info='char encoding transformation data structure'/> </function> <function name='xmlCharEncFirstLine' file='encoding' module='encoding'> <info>Front-end for the encoding handler input function, but handle only the very first line, i.e. limit itself to 45 chars.</info> <return type='int' info='the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or'/> - <arg name='handler' type='xmlCharEncodingHandler *' info='char enconding transformation data structure'/> + <arg name='handler' type='xmlCharEncodingHandler *' info='char encoding transformation data structure'/> <arg name='out' type='xmlBufferPtr' info='an xmlBuffer for the output.'/> <arg name='in' type='xmlBufferPtr' info='an xmlBuffer for the input'/> </function> @@ -8951,7 +8957,7 @@ Could we use @subtypes for this?'/> <function name='xmlCharEncOutFunc' file='encoding' module='encoding'> <info>Generic front-end for the encoding handler output function a first call with @in == NULL has to be made firs to initiate the output in case of non-stateless encoding needing to initiate their state or the output (like the BOM in UTF16). In case of UTF8 sequence conversion errors for the given encoder, the content will be automatically remapped to a CharRef sequence.</info> <return type='int' info='the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or'/> - <arg name='handler' type='xmlCharEncodingHandler *' info='char enconding transformation data structure'/> + <arg name='handler' type='xmlCharEncodingHandler *' info='char encoding transformation data structure'/> <arg name='out' type='xmlBufferPtr' info='an xmlBuffer for the output.'/> <arg name='in' type='xmlBufferPtr' info='an xmlBuffer for the input'/> </function> @@ -9000,7 +9006,7 @@ Could we use @subtypes for this?'/> <arg name='ret' type='xmlParserInputPtr' info='an XML parser input'/> </function> <function name='xmlCheckLanguageID' file='parserInternals' module='parser'> - <info>Checks that the value conforms to the LanguageID production: NOTE: this is somewhat deprecated, those productions were removed from the XML Second edition. [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::= ISO639Code | IanaCode | UserCode [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ The current REC reference the sucessors of RFC 1766, currently 5646 http://www.rfc-editor.org/rfc/rfc5646.txt langtag = language ["-" script] ["-" region] *("-" variant) *("-" extension) ["-" privateuse] language = 2*3ALPHA ; shortest ISO 639 code ["-" extlang] ; sometimes followed by ; extended language subtags / 4ALPHA ; or reserved for future use / 5*8ALPHA ; or registered language subtag extlang = 3ALPHA ; selected ISO 639 codes *2("-" 3ALPHA) ; permanently reserved script = 4ALPHA ; ISO 15924 code region = 2ALPHA ; ISO 3166-1 code / 3DIGIT ; UN M.49 code variant = 5*8alphanum ; registered variants / (DIGIT 3alphanum) extension = singleton 1*("-" (2*8alphanum)) ; Single alphanumerics ; "x" reserved for private use singleton = DIGIT ; 0 - 9 / %x41-57 ; A - W / %x59-5A ; Y - Z / %x61-77 ; a - w / %x79-7A ; y - z it sounds right to still allow Irregular i-xxx IANA and user codes too The parser below doesn't try to cope with extension or privateuse that could be added but that's not interoperable anyway</info> + <info>Checks that the value conforms to the LanguageID production: NOTE: this is somewhat deprecated, those productions were removed from the XML Second edition. [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::= ISO639Code | IanaCode | UserCode [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ The current REC reference the successors of RFC 1766, currently 5646 http://www.rfc-editor.org/rfc/rfc5646.txt langtag = language ["-" script] ["-" region] *("-" variant) *("-" extension) ["-" privateuse] language = 2*3ALPHA ; shortest ISO 639 code ["-" extlang] ; sometimes followed by ; extended language subtags / 4ALPHA ; or reserved for future use / 5*8ALPHA ; or registered language subtag extlang = 3ALPHA ; selected ISO 639 codes *2("-" 3ALPHA) ; permanently reserved script = 4ALPHA ; ISO 15924 code region = 2ALPHA ; ISO 3166-1 code / 3DIGIT ; UN M.49 code variant = 5*8alphanum ; registered variants / (DIGIT 3alphanum) extension = singleton 1*("-" (2*8alphanum)) ; Single alphanumerics ; "x" reserved for private use singleton = DIGIT ; 0 - 9 / %x41-57 ; A - W / %x59-5A ; Y - Z / %x61-77 ; a - w / %x79-7A ; y - z it sounds right to still allow Irregular i-xxx IANA and user codes too The parser below doesn't try to cope with extension or privateuse that could be added but that's not interoperable anyway</info> <return type='int' info='1 if correct 0 otherwise'/> <arg name='lang' type='const xmlChar *' info='pointer to the string value'/> </function> @@ -9426,7 +9432,7 @@ Could we use @subtypes for this?'/> </function> <function name='xmlDebugDumpDocumentHead' file='debugXML' module='debugXML'> <cond>defined(LIBXML_DEBUG_ENABLED)</cond> - <info>Dumps debug information cncerning the document, not recursive</info> + <info>Dumps debug information concerning the document, not recursive</info> <return type='void'/> <arg name='output' type='FILE *' info='the FILE * for the output'/> <arg name='doc' type='xmlDocPtr' info='the document'/> @@ -9543,7 +9549,7 @@ Could we use @subtypes for this?'/> <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> + <info>check if a string is owned by the dictionary</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 dictionary'/> <arg name='str' type='const xmlChar *' info='the string'/> @@ -9772,7 +9778,7 @@ Could we use @subtypes for this?'/> </function> <function name='xmlExpExpDerive' file='xmlregexp' module='xmlregexp'> <cond>defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)</cond> - <info>Evaluates the expression resulting from @exp consuming a sub expression @sub Based on algebraic derivation and sometimes direct Brzozowski derivation it usually tatkes less than linear time and can handle expressions generating infinite languages.</info> + <info>Evaluates the expression resulting from @exp consuming a sub expression @sub Based on algebraic derivation and sometimes direct Brzozowski derivation it usually takes less than linear time and can handle expressions generating infinite languages.</info> <return type='xmlExpNodePtr' info='the resulting expression or NULL in case of internal error, the result must be freed'/> <arg name='ctxt' type='xmlExpCtxtPtr' info='the expressions context'/> <arg name='exp' type='xmlExpNodePtr' info='the englobing expression'/> @@ -9811,7 +9817,7 @@ Could we use @subtypes for this?'/> </function> <function name='xmlExpIsNillable' file='xmlregexp' module='xmlregexp'> <cond>defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)</cond> - <info>Finds if the expression is nillable, i.e. if it accepts the empty sequqnce</info> + <info>Finds if the expression is nillable, i.e. if it accepts the empty sequence</info> <return type='int' info='1 if nillable, 0 if not and -1 in case of error'/> <arg name='exp' type='xmlExpNodePtr' info='the expression'/> </function> @@ -9885,7 +9891,7 @@ Could we use @subtypes for this?'/> </function> <function name='xmlExpSubsume' file='xmlregexp' module='xmlregexp'> <cond>defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)</cond> - <info>Check whether @exp accepts all the languages accexpted by @sub the input being a subexpression.</info> + <info>Check whether @exp accepts all the languages accepted by @sub the input being a subexpression.</info> <return type='int' info='1 if true 0 if false and -1 in case of failure.'/> <arg name='ctxt' type='xmlExpCtxtPtr' info='the expressions context'/> <arg name='exp' type='xmlExpNodePtr' info='the englobing expression'/> @@ -10123,7 +10129,7 @@ Could we use @subtypes for this?'/> <return type='void'/> <arg name='ctx' type='void *' info='a parsing context'/> <arg name='msg' type='const char *' info='the message'/> - <arg name='...' type='...' info='the extra arguments of the varags to format the message'/> + <arg name='...' type='...' info='the extra arguments of the varargs to format the message'/> </functype> <function name='xmlGetBufferAllocationScheme' file='tree' module='tree'> <info>Types are XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, improves performance XML_BUFFER_ALLOC_HYBRID - use exact sizes on small strings to keep memory usage tight in normal usage, and doubleit on large strings to avoid pathological performance.</info> @@ -10506,14 +10512,14 @@ Could we use @subtypes for this?'/> <info>Callback when scanning data in a hash with the simple scanner.</info> <return type='void'/> <arg name='payload' type='void *' info='the data in the hash'/> - <arg name='data' type='void *' info='extra scannner data'/> + <arg name='data' type='void *' info='extra scanner data'/> <arg name='name' type='const xmlChar *' info='the name associated'/> </functype> <functype name='xmlHashScannerFull' file='hash' module='hash'> <info>Callback when scanning data in a hash with the full scanner.</info> <return type='void'/> <arg name='payload' type='void *' info='the data in the hash'/> - <arg name='data' type='void *' info='extra scannner data'/> + <arg name='data' type='void *' info='extra scanner data'/> <arg name='name' type='const xmlChar *' info='the name associated'/> <arg name='name2' type='const xmlChar *' info='the second name associated'/> <arg name='name3' type='const xmlChar *' info='the third name associated'/> @@ -10672,7 +10678,7 @@ Could we use @subtypes for this?'/> <arg name='context' type='void *' info='an Input context'/> </functype> <functype name='xmlInputMatchCallback' file='xmlIO' module='xmlIO'> - <info>Callback used in the I/O Input API to detect if the current handler can provide input fonctionnalities for this resource.</info> + <info>Callback used in the I/O Input API to detect if the current handler can provide input functionality for this resource.</info> <return type='int' info='1 if yes and 0 if another Input module should be used'/> <arg name='filename' type='char const *' info='the filename or URI'/> </functype> @@ -11101,14 +11107,14 @@ Could we use @subtypes for this?'/> </function> <function name='xmlModuleOpen' file='xmlmodule' module='xmlmodule'> <cond>defined(LIBXML_MODULES_ENABLED)</cond> - <info>Opens a module/shared library given its name or path NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We canot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const xmlChar * . TODO: options are not yet implemented.</info> + <info>Opens a module/shared library given its name or path NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const xmlChar * . TODO: options are not yet implemented.</info> <return type='xmlModulePtr' info='a handle for the module or NULL in case of error'/> <arg name='name' type='const char *' info='the module name'/> <arg name='options' type='int' info='a set of xmlModuleOption'/> </function> <function name='xmlModuleSymbol' file='xmlmodule' module='xmlmodule'> <cond>defined(LIBXML_MODULES_ENABLED)</cond> - <info>Lookup for a symbol address in the given module NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We canot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const xmlChar * .</info> + <info>Lookup for a symbol address in the given module NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const xmlChar * .</info> <return type='int' info='0 if the symbol was found, or -1 in case of error'/> <arg name='module' type='xmlModulePtr' info='the module'/> <arg name='name' type='const char *' info='the name of the symbol'/> @@ -11545,7 +11551,7 @@ Could we use @subtypes for this?'/> <arg name='type' type='xmlElementContentType' info='the type of element content decl'/> </function> <function name='xmlNewEntity' file='entities' module='entities'> - <info>Create a new entity, this differs from xmlAddDocEntity() that if the document is NULL or has no internal subset defined, then an unlinked entity structure will be returned, it is then the responsability of the caller to link it to the document later or free it when not needed anymore.</info> + <info>Create a new entity, this differs from xmlAddDocEntity() that if the document is NULL or has no internal subset defined, then an unlinked entity structure will be returned, it is then the responsibility of the caller to link it to the document later or free it when not needed anymore.</info> <return type='xmlEntityPtr' info='a pointer to the entity or NULL in case of error'/> <arg name='doc' type='xmlDocPtr' info='the document'/> <arg name='name' type='const xmlChar *' info='the entity name'/> @@ -11778,7 +11784,7 @@ Could we use @subtypes for this?'/> </function> <function name='xmlNodeDump' file='tree' module='xmlsave'> <cond>defined(LIBXML_OUTPUT_ENABLED)</cond> - <info>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called Since this is using xmlBuffer structures it is limited to 2GB and somehow deprecated, use xmlBufNodeDump() instead.</info> + <info>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called. Since this is using xmlBuffer structures it is limited to 2GB and somehow deprecated, use xmlNodeDumpOutput() instead.</info> <return type='int' info='the number of bytes written to the buffer or -1 in case of error'/> <arg name='buf' type='xmlBufferPtr' info='the XML buffer output'/> <arg name='doc' type='xmlDocPtr' info='the document'/> @@ -11974,7 +11980,7 @@ Could we use @subtypes for this?'/> </function> <function name='xmlOutputBufferWriteEscape' file='xmlIO' module='xmlIO'> <cond>defined(LIBXML_OUTPUT_ENABLED)</cond> - <info>Write the content of the string in the output I/O buffer This routine escapes the caracters and then handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</info> + <info>Write the content of the string in the output I/O buffer This routine escapes the characters and then handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</info> <return type='int' info='the number of chars immediately written, or -1 in case of error.'/> <arg name='out' type='xmlOutputBufferPtr' info='a buffered parser output'/> <arg name='str' type='const xmlChar *' info='a zero terminated UTF-8 string'/> @@ -11995,7 +12001,7 @@ Could we use @subtypes for this?'/> </functype> <functype name='xmlOutputMatchCallback' file='xmlIO' module='xmlIO'> <cond>defined(LIBXML_OUTPUT_ENABLED)</cond> - <info>Callback used in the I/O Output API to detect if the current handler can provide output fonctionnalities for this resource.</info> + <info>Callback used in the I/O Output API to detect if the current handler can provide output functionality for this resource.</info> <return type='int' info='1 if yes and 0 if another Output module should be used'/> <arg name='filename' type='char const *' info='the filename or URI'/> </functype> @@ -12143,7 +12149,7 @@ Could we use @subtypes for this?'/> <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/> </function> <function name='xmlParseElement' file='parserInternals' module='parser'> - <info>parse an XML element, this is highly recursive [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] The Name in an element's end-tag must match the element type in the start-tag.</info> + <info>parse an XML element [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] The Name in an element's end-tag must match the element type in the start-tag.</info> <return type='void'/> <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/> </function> @@ -12315,7 +12321,7 @@ Could we use @subtypes for this?'/> <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/> </function> <function name='xmlParsePI' file='parserInternals' module='parser'> - <info>parse an XML Processing Instruction. [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>' The processing is transfered to SAX once parsed.</info> + <info>parse an XML Processing Instruction. [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>' The processing is transferred to SAX once parsed.</info> <return type='void'/> <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/> </function> @@ -12893,9 +12899,9 @@ Could we use @subtypes for this?'/> </function> <function name='xmlRegFreeExecCtxt' file='xmlregexp' module='xmlregexp'> <cond>defined(LIBXML_REGEXP_ENABLED)</cond> - <info>Free the structures associated to a regular expression evaulation context.</info> + <info>Free the structures associated to a regular expression evaluation context.</info> <return type='void'/> - <arg name='exec' type='xmlRegExecCtxtPtr' info='a regular expression evaulation context'/> + <arg name='exec' type='xmlRegExecCtxtPtr' info='a regular expression evaluation context'/> </function> <function name='xmlRegFreeRegexp' file='xmlregexp' module='xmlregexp'> <cond>defined(LIBXML_REGEXP_ENABLED)</cond> @@ -13040,7 +13046,7 @@ Could we use @subtypes for this?'/> </function> <function name='xmlRelaxNGInitTypes' file='relaxng' module='relaxng'> <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond> - <info>Initilize the default type libraries.</info> + <info>Initialize the default type libraries.</info> <return type='int' info='0 in case of success and -1 in case of error.'/> </function> <function name='xmlRelaxNGNewDocParserCtxt' file='relaxng' module='relaxng'> @@ -13070,7 +13076,7 @@ Could we use @subtypes for this?'/> </function> <function name='xmlRelaxNGParse' file='relaxng' module='relaxng'> <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond> - <info>parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.</info> + <info>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</info> <return type='xmlRelaxNGPtr' info='the internal XML RelaxNG structure built from the resource or NULL in case of error'/> <arg name='ctxt' type='xmlRelaxNGParserCtxtPtr' info='a Relax-NG parser context'/> </function> @@ -13551,7 +13557,7 @@ Could we use @subtypes for this?'/> <return type='int' info='the number of bytes written or -1 in case of failure.'/> <arg name='buf' type='xmlOutputBufferPtr' info='an output I/O buffer'/> <arg name='cur' type='xmlDocPtr' info='the document'/> - <arg name='encoding' type='const char *' info='the encoding if any assuming the I/O layer handles the trancoding'/> + <arg name='encoding' type='const char *' info='the encoding if any assuming the I/O layer handles the transcoding'/> </function> <function name='xmlSaveFlush' file='xmlsave' module='xmlsave'> <cond>defined(LIBXML_OUTPUT_ENABLED)</cond> @@ -13582,7 +13588,7 @@ Could we use @subtypes for this?'/> <return type='int' info='the number of bytes written or -1 in case of failure.'/> <arg name='buf' type='xmlOutputBufferPtr' info='an output I/O buffer'/> <arg name='cur' type='xmlDocPtr' info='the document'/> - <arg name='encoding' type='const char *' info='the encoding if any assuming the I/O layer handles the trancoding'/> + <arg name='encoding' type='const char *' info='the encoding if any assuming the I/O layer handles the transcoding'/> <arg name='format' type='int' info='should formatting spaces been added'/> </function> <function name='xmlSaveSetAttrEscape' file='xmlsave' module='xmlsave'> @@ -13877,7 +13883,7 @@ Could we use @subtypes for this?'/> </function> <function name='xmlSchemaParse' file='xmlschemas' module='xmlschemas'> <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond> - <info>parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.</info> + <info>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</info> <return type='xmlSchemaPtr' info='the internal XML Schema structure built from the resource or NULL in case of error'/> <arg name='ctxt' type='xmlSchemaParserCtxtPtr' info='a schema validation context'/> </function> @@ -14172,7 +14178,7 @@ Could we use @subtypes for this?'/> </function> <function name='xmlSchematronParse' file='schematron' module='schematron'> <cond>defined(LIBXML_SCHEMATRON_ENABLED)</cond> - <info>parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.</info> + <info>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</info> <return type='xmlSchematronPtr' info='the internal XML Schematron structure built from the resource or NULL in case of error'/> <arg name='ctxt' type='xmlSchematronParserCtxtPtr' info='a schema validation context'/> </function> @@ -14189,7 +14195,7 @@ Could we use @subtypes for this?'/> <info>Validate a tree instance against the schematron</info> <return type='int' info='0 in case of success, -1 in case of internal error and an error count otherwise.'/> <arg name='ctxt' type='xmlSchematronValidCtxtPtr' info='the schema validation context'/> - <arg name='instance' type='xmlDocPtr' info='the document instace tree'/> + <arg name='instance' type='xmlDocPtr' info='the document instance tree'/> </function> <functype name='xmlSchematronValidityErrorFunc' file='schematron' module='schematron'> <cond>defined(LIBXML_SCHEMATRON_ENABLED)</cond> @@ -14818,13 +14824,13 @@ Could we use @subtypes for this?'/> </function> <function name='xmlTextReaderCurrentDoc' file='xmlreader' module='xmlreader'> <cond>defined(LIBXML_READER_ENABLED)</cond> - <info>Hacking interface allowing to get the xmlDocPtr correponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.</info> + <info>Hacking interface allowing to get the xmlDocPtr corresponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.</info> <return type='xmlDocPtr' info='the xmlDocPtr or NULL in case of error.'/> <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/> </function> <function name='xmlTextReaderCurrentNode' file='xmlreader' module='xmlreader'> <cond>defined(LIBXML_READER_ENABLED)</cond> - <info>Hacking interface allowing to get the xmlNodePtr correponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.</info> + <info>Hacking interface allowing to get the xmlNodePtr corresponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.</info> <return type='xmlNodePtr' info='the xmlNodePtr or NULL in case of error.'/> <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/> </function> @@ -14900,7 +14906,7 @@ Could we use @subtypes for this?'/> </function> <function name='xmlTextReaderGetRemainder' file='xmlreader' module='xmlreader'> <cond>defined(LIBXML_READER_ENABLED)</cond> - <info>Method to get the remainder of the buffered XML. this method stops the parser, set its state to End Of File and return the input stream with what is left that the parser did not use. The implementation is not good, the parser certainly procgressed past what's left in reader->input, and there is an allocation problem. Best would be to rewrite it differently.</info> + <info>Method to get the remainder of the buffered XML. this method stops the parser, set its state to End Of File and return the input stream with what is left that the parser did not use. The implementation is not good, the parser certainly progressed past what's left in reader->input, and there is an allocation problem. Best would be to rewrite it differently.</info> <return type='xmlParserInputBufferPtr' info='the xmlParserInputBufferPtr attached to the XML or NULL in case of error.'/> <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/> </function> @@ -15032,7 +15038,7 @@ Could we use @subtypes for this?'/> <function name='xmlTextReaderNodeType' file='xmlreader' module='xmlreader'> <cond>defined(LIBXML_READER_ENABLED)</cond> <info>Get the node type of the current node Reference: http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/XmlNodeType.html</info> - <return type='int' info='the xmlNodeType of the current node or -1 in case of error'/> + <return type='int' info='the xmlReaderTypes of the current node or -1 in case of error'/> <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/> </function> <function name='xmlTextReaderNormalization' file='xmlreader' module='xmlreader'> @@ -15076,7 +15082,7 @@ Could we use @subtypes for this?'/> <function name='xmlTextReaderReadAttributeValue' file='xmlreader' module='xmlreader'> <cond>defined(LIBXML_READER_ENABLED)</cond> <info>Parses an attribute value into one or more Text and EntityReference nodes.</info> - <return type='int' info='1 in case of success, 0 if the reader was not positionned on an ttribute node or all the attribute values have been read, or -1 in case of error.'/> + <return type='int' info='1 in case of success, 0 if the reader was not positioned on an attribute node or all the attribute values have been read, or -1 in case of error.'/> <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/> </function> <function name='xmlTextReaderReadInnerXml' file='xmlreader' module='xmlreader'> @@ -15105,8 +15111,8 @@ Could we use @subtypes for this?'/> </function> <function name='xmlTextReaderRelaxNGSetSchema' file='xmlreader' module='xmlreader'> <cond>defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)</cond> - <info>Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then RelaxNG validation is desactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.</info> - <return type='int' info='0 in case the RelaxNG validation could be (des)activated and -1 in case of error.'/> + <info>Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then RelaxNG validation is deactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.</info> + <return type='int' info='0 in case the RelaxNG validation could be (de)activated and -1 in case of error.'/> <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/> <arg name='schema' type='xmlRelaxNGPtr' info='a precompiled RelaxNG schema'/> </function> @@ -15158,8 +15164,8 @@ Could we use @subtypes for this?'/> </function> <function name='xmlTextReaderSetSchema' file='xmlreader' module='xmlreader'> <cond>defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)</cond> - <info>Use XSD Schema to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then Schema validation is desactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.</info> - <return type='int' info='0 in case the Schema validation could be (des)activated and -1 in case of error.'/> + <info>Use XSD Schema to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then Schema validation is deactivated. The @schema should not be freed until the reader is deallocated or its use has been deactivated.</info> + <return type='int' info='0 in case the Schema validation could be (de)activated and -1 in case of error.'/> <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/> <arg name='schema' type='xmlSchemaPtr' info='a precompiled Schema schema'/> </function> @@ -15213,7 +15219,7 @@ Could we use @subtypes for this?'/> </function> <function name='xmlTextWriterEndComment' file='xmlwriter' module='xmlwriter'> <cond>defined(LIBXML_WRITER_ENABLED)</cond> - <info>End the current xml coment.</info> + <info>End the current xml comment.</info> <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/> <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/> </function> @@ -17463,7 +17469,7 @@ Could we use @subtypes for this?'/> <return type='int' info='0 if the setting succeeded, and -1 on API or internal errors.'/> <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/> <arg name='active' type='int' info='enables/disables (creates/frees) the cache'/> - <arg name='value' type='int' info='a value with semantics dependant on @options'/> + <arg name='value' type='int' info='a value with semantics dependent on @options'/> <arg name='options' type='int' info='options (currently only the value 0 is used)'/> </function> <function name='xmlXPathConvertBoolean' file='xpath' module='xpath'> @@ -17696,7 +17702,7 @@ Could we use @subtypes for this?'/> </function> <function name='xmlXPathInit' file='xpath' module='xpath'> <cond>defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)</cond> - <info>Initialize the XPath environment Does nothing but must be kept as public function.</info> + <info>Initialize the XPath environment</info> <return type='void'/> </function> <function name='xmlXPathIntersection' file='xpathInternals' module='xpath'> diff --git a/doc/libxml2-refs.xml b/doc/libxml2-refs.xml index 3fe0876f..ade2ab7c 100644 --- a/doc/libxml2-refs.xml +++ b/doc/libxml2-refs.xml @@ -1439,8 +1439,10 @@ <reference name='XPATH_NODESET' href='html/libxml-xpath.html#XPATH_NODESET'/> <reference name='XPATH_NUMBER' href='html/libxml-xpath.html#XPATH_NUMBER'/> <reference name='XPATH_NUMBER_ERROR' href='html/libxml-xpath.html#XPATH_NUMBER_ERROR'/> + <reference name='XPATH_OP_LIMIT_EXCEEDED' href='html/libxml-xpath.html#XPATH_OP_LIMIT_EXCEEDED'/> <reference name='XPATH_POINT' href='html/libxml-xpath.html#XPATH_POINT'/> <reference name='XPATH_RANGE' href='html/libxml-xpath.html#XPATH_RANGE'/> + <reference name='XPATH_RECURSION_LIMIT_EXCEEDED' href='html/libxml-xpath.html#XPATH_RECURSION_LIMIT_EXCEEDED'/> <reference name='XPATH_STACK_ERROR' href='html/libxml-xpath.html#XPATH_STACK_ERROR'/> <reference name='XPATH_START_LITERAL_ERROR' href='html/libxml-xpath.html#XPATH_START_LITERAL_ERROR'/> <reference name='XPATH_STRING' href='html/libxml-xpath.html#XPATH_STRING'/> @@ -1458,7 +1460,6 @@ <reference name='XPTR_SYNTAX_ERROR' href='html/libxml-xpath.html#XPTR_SYNTAX_ERROR'/> <reference name='XP_ERROR' href='html/libxml-xpathInternals.html#XP_ERROR'/> <reference name='XP_ERROR0' href='html/libxml-xpathInternals.html#XP_ERROR0'/> - <reference name='_REENTRANT' href='html/libxml-xmlexports.html#_REENTRANT'/> <reference name='_htmlElemDesc' href='html/libxml-HTMLparser.html#_htmlElemDesc'/> <reference name='_htmlEntityDesc' href='html/libxml-HTMLparser.html#_htmlEntityDesc'/> <reference name='_uconv_t' href='html/libxml-encoding.html#_uconv_t'/> @@ -5043,8 +5044,10 @@ <ref name='XPATH_NODESET'/> <ref name='XPATH_NUMBER'/> <ref name='XPATH_NUMBER_ERROR'/> + <ref name='XPATH_OP_LIMIT_EXCEEDED'/> <ref name='XPATH_POINT'/> <ref name='XPATH_RANGE'/> + <ref name='XPATH_RECURSION_LIMIT_EXCEEDED'/> <ref name='XPATH_STACK_ERROR'/> <ref name='XPATH_START_LITERAL_ERROR'/> <ref name='XPATH_STRING'/> @@ -5064,7 +5067,6 @@ <ref name='XP_ERROR0'/> </letter> <letter name='_'> - <ref name='_REENTRANT'/> <ref name='_htmlElemDesc'/> <ref name='_htmlEntityDesc'/> <ref name='_uconv_t'/> @@ -13448,7 +13450,6 @@ <ref name='XMLCDECL'/> <ref name='XMLPUBFUN'/> <ref name='XMLPUBVAR'/> - <ref name='_REENTRANT'/> </file> <file name='xmlmemory'> <ref name='DEBUG_MEMORY'/> @@ -14161,8 +14162,10 @@ <ref name='XPATH_NODESET'/> <ref name='XPATH_NUMBER'/> <ref name='XPATH_NUMBER_ERROR'/> + <ref name='XPATH_OP_LIMIT_EXCEEDED'/> <ref name='XPATH_POINT'/> <ref name='XPATH_RANGE'/> + <ref name='XPATH_RECURSION_LIMIT_EXCEEDED'/> <ref name='XPATH_STACK_ERROR'/> <ref name='XPATH_START_LITERAL_ERROR'/> <ref name='XPATH_STRING'/> @@ -15513,7 +15516,6 @@ <ref name='xmlValidNormalizeAttributeValue'/> <ref name='xmlValidateDocumentFinal'/> <ref name='xmlValidateDtdFinal'/> - <ref name='xmlXPathInit'/> </word> <word name='Douglas'> <ref name='xmlURIEscape'/> @@ -15960,14 +15962,14 @@ <word name='Form'> <ref name='xmlBuildURI'/> </word> - <word name='Formating'> - <ref name='htmlDocContentDumpOutput'/> - </word> <word name='Formats'> <ref name='xmlStrPrintf'/> <ref name='xmlStrVPrintf'/> <ref name='xmlXPatherror'/> </word> + <word name='Formatting'> + <ref name='htmlDocContentDumpOutput'/> + </word> <word name='Formed'> <ref name='xmlRecoverDoc'/> <ref name='xmlRecoverFile'/> @@ -16335,6 +16337,7 @@ <ref name='xmlNanoFTPScanProxy'/> <ref name='xmlNanoHTTPInit'/> <ref name='xmlNanoHTTPScanProxy'/> + <ref name='xmlRelaxNGInitTypes'/> <ref name='xmlSAX2InitDefaultSAXHandler'/> <ref name='xmlSAX2InitDocbDefaultSAXHandler'/> <ref name='xmlSAX2InitHtmlDefaultSAXHandler'/> @@ -16349,9 +16352,6 @@ <word name='Initiate'> <ref name='xmlNanoFTPGetSocket'/> </word> - <word name='Initilize'> - <ref name='xmlRelaxNGInitTypes'/> - </word> <word name='Input'> <ref name='_xmlParserCtxt'/> <ref name='xmlIOParseDTD'/> @@ -16367,16 +16367,15 @@ <ref name='xmlParserAddNodeInfo'/> </word> <word name='Instruction'> - <ref name='xmlParsePI'/> - </word> - <word name='Instuction'> <ref name='XML_CATALOG_PI'/> + <ref name='xmlParsePI'/> </word> <word name='Intended'> <ref name='xmlSnprintfElementContent'/> </word> <word name='Internal'> <ref name='_xmlDOMWrapCtxt'/> + <ref name='_xmlDoc'/> <ref name='xmlParseMarkupDecl'/> </word> <word name='Introduced'> @@ -16791,14 +16790,12 @@ <word name='Namespace'> <ref name='XML_XML_NAMESPACE'/> <ref name='_xmlElementContent'/> + <ref name='_xmlParserCtxt'/> <ref name='xmlNewGlobalNs'/> <ref name='xmlNewNs'/> <ref name='xmlXPathNodeSetFreeNs'/> <ref name='xmlXPtrBuildNodeList'/> </word> - <word name='Nanespace'> - <ref name='_xmlParserCtxt'/> - </word> <word name='Needed'> <ref name='xmlScanName'/> </word> @@ -17583,6 +17580,9 @@ <word name='Resolving'> <ref name='xmlBuildURI'/> </word> + <word name='Resource'> + <ref name='_xmlXPathContext'/> + </word> <word name='Retrieve'> <ref name='xmlTextReaderGetErrorHandler'/> <ref name='xmlTextReaderIsValid'/> @@ -17719,6 +17719,7 @@ <ref name='xmlHashScanFull3'/> </word> <word name='Schema'> + <ref name='xmlRelaxNGParse'/> <ref name='xmlSchemaDump'/> <ref name='xmlSchemaFree'/> <ref name='xmlSchemaFreeFacet'/> @@ -17726,6 +17727,7 @@ <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/> <ref name='xmlSchemaGetCanonValue'/> <ref name='xmlSchemaParse'/> + <ref name='xmlSchematronParse'/> <ref name='xmlTextReaderSchemaValidate'/> <ref name='xmlTextReaderSchemaValidateCtxt'/> <ref name='xmlTextReaderSetSchema'/> @@ -17853,11 +17855,6 @@ <word name='Shell'> <ref name='xmlShellReadlineFunc'/> </word> - <word name='Shema'> - <ref name='xmlRelaxNGParse'/> - <ref name='xmlSchemaParse'/> - <ref name='xmlSchematronParse'/> - </word> <word name='Should'> <ref name='_xmlParserCtxt'/> <ref name='xmlGcMemSetup'/> @@ -18881,6 +18878,7 @@ <ref name='xmlCatalogSetDefaultPrefer'/> <ref name='xmlCatalogSetDefaults'/> <ref name='xmlExpGetStart'/> + <ref name='xmlExpSubsume'/> <ref name='xmlRegExecErrInfo'/> <ref name='xmlRegExecNextValues'/> <ref name='xmlTextReaderNormalization'/> @@ -18909,9 +18907,6 @@ <ref name='xmlCreateURLParserCtxt'/> <ref name='xmlNoNetExternalEntityLoader'/> </word> - <word name='accexpted'> - <ref name='xmlExpSubsume'/> - </word> <word name='accommodate'> <ref name='xmlBufferResize'/> </word> @@ -19284,8 +19279,6 @@ <ref name='xmlCheckLanguageID'/> </word> <word name='already'> - <ref name='XML_SCHEMAS_ATTRGROUP_GLOBAL'/> - <ref name='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED'/> <ref name='_xmlParserInput'/> <ref name='xmlAddNextSibling'/> <ref name='xmlAddPrevSibling'/> @@ -19394,6 +19387,9 @@ <word name='annotation'> <ref name='_xmlSchemaAnnot'/> </word> + <word name='anonymous'> + <ref name='_xmlSchema'/> + </word> <word name='another'> <ref name='xmlCharEncodingOutputFunc'/> <ref name='xmlCleanupParser'/> @@ -20020,10 +20016,6 @@ <ref name='LIBXML2_NEW_BUFFER'/> <ref name='xmlBufferDetach'/> </word> - <word name='builded'> - <ref name='XML_SCHEMAS_ATTRGROUP_GLOBAL'/> - <ref name='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED'/> - </word> <word name='building'> <ref name='XML_MAX_TEXT_LENGTH'/> <ref name='_xmlParserCtxt'/> @@ -20046,6 +20038,7 @@ <ref name='xmlRegexpCompile'/> </word> <word name='built'> + <ref name='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED'/> <ref name='_xmlParserCtxt'/> <ref name='xmlCleanupParser'/> <ref name='xmlParseAttributeType'/> @@ -20130,6 +20123,8 @@ <ref name='xmlPopInput'/> </word> <word name='cannot'> + <ref name='xmlModuleOpen'/> + <ref name='xmlModuleSymbol'/> <ref name='xmlParseAttribute'/> <ref name='xmlTextReaderReadOuterXml'/> <ref name='xmlXPathRegisterNs'/> @@ -20167,16 +20162,9 @@ <ref name='xmlC14NDocSaveTo'/> <ref name='xmlC14NExecute'/> </word> - <word name='canot'> - <ref name='xmlModuleOpen'/> - <ref name='xmlModuleSymbol'/> - </word> <word name='capable'> <ref name='xmlCheckUTF8'/> </word> - <word name='caracters'> - <ref name='xmlOutputBufferWriteEscape'/> - </word> <word name='cardinality'> <ref name='xmlExpParse'/> </word> @@ -20311,6 +20299,7 @@ <ref name='ignorableWhitespaceSAXFunc'/> <ref name='xmlCreatePushParserCtxt'/> <ref name='xmlKeepBlanksDefault'/> + <ref name='xmlOutputBufferWriteEscape'/> <ref name='xmlParseAttValue'/> <ref name='xmlStrPrintf'/> <ref name='xmlStrVPrintf'/> @@ -20332,6 +20321,7 @@ <ref name='xmlTextWriterWriteRawLen'/> </word> <word name='charset'> + <ref name='_xmlDoc'/> <ref name='xmlAllocParserInputBuffer'/> <ref name='xmlCreateIOParserCtxt'/> <ref name='xmlIOParseDTD'/> @@ -20513,9 +20503,6 @@ <ref name='xmlParseElementChildrenContentDecl'/> <ref name='xmlParseStartTag'/> </word> - <word name='cncerning'> - <ref name='xmlDebugDumpDocumentHead'/> - </word> <word name='codes'> <ref name='xmlCheckLanguageID'/> </word> @@ -20556,9 +20543,6 @@ <ref name='xmlStreamPushAttr'/> <ref name='xmlStreamPushNode'/> </word> - <word name='coment'> - <ref name='xmlTextWriterEndComment'/> - </word> <word name='comes'> <ref name='xmlValidityErrorFunc'/> <ref name='xmlValidityWarningFunc'/> @@ -20587,6 +20571,7 @@ <ref name='xmlNewComment'/> <ref name='xmlNewDocComment'/> <ref name='xmlParseComment'/> + <ref name='xmlTextWriterEndComment'/> <ref name='xmlTextWriterStartComment'/> <ref name='xmlTextWriterWriteComment'/> <ref name='xmlTextWriterWriteFormatComment'/> @@ -20827,6 +20812,9 @@ <word name='concatenation'> <ref name='xmlXPathConcatFunction'/> </word> + <word name='concerning'> + <ref name='xmlDebugDumpDocumentHead'/> + </word> <word name='condition'> <ref name='xmlSchemaValidateFacet'/> <ref name='xmlSchemaValidateFacetWhtsp'/> @@ -21077,9 +21065,6 @@ <word name='continuing'> <ref name='xmlXPathSubstringFunction'/> </word> - <word name='contraint'> - <ref name='_xmlSchemaElement'/> - </word> <word name='contrary'> <ref name='xmlNodeListGetRawString'/> <ref name='xmlXPathFreeNodeSetList'/> @@ -21186,10 +21171,6 @@ <word name='correctly'> <ref name='xmlURIEscape'/> </word> - <word name='correponding'> - <ref name='xmlTextReaderCurrentDoc'/> - <ref name='xmlTextReaderCurrentNode'/> - </word> <word name='correspond'> <ref name='xmlIsXHTML'/> <ref name='xmlParseEntity'/> @@ -21202,6 +21183,8 @@ <ref name='xmlOutputBufferCreateFilenameFunc'/> <ref name='xmlParserInputBufferCreateFilenameFunc'/> <ref name='xmlSetProp'/> + <ref name='xmlTextReaderCurrentDoc'/> + <ref name='xmlTextReaderCurrentNode'/> <ref name='xmlXPathTranslateFunction'/> </word> <word name='cost'> @@ -21304,9 +21287,6 @@ <ref name='xmlAutomataNewOnceTrans'/> <ref name='xmlAutomataNewOnceTrans2'/> </word> - <word name='cshema'> - <ref name='XML_SCHEMAS_FINAL_DEFAULT_LIST'/> - </word> <word name='ctxt'> <ref name='xmlExpNewOr'/> <ref name='xmlExpNewRange'/> @@ -21324,9 +21304,6 @@ <word name='cur'> <ref name='xmlXPathAxisFunc'/> </word> - <word name='curent'> - <ref name='xmlC14NIsVisibleCallback'/> - </word> <word name='currently'> <ref name='XML_SCHEMAS_INCLUDING_CONVERT_NS'/> <ref name='xmlCheckLanguageID'/> @@ -21540,6 +21517,7 @@ <word name='defined'> <ref name='WITHOUT_TRIO'/> <ref name='WITH_TRIO'/> + <ref name='XML_SCHEMAS_ATTRGROUP_GLOBAL'/> <ref name='_xmlXPathContext'/> <ref name='xmlGetNsList'/> <ref name='xmlHandleEntity'/> @@ -21603,7 +21581,7 @@ <word name='deletion'> <ref name='xmlCatalogSetDefaultPrefer'/> </word> - <word name='dependant'> + <word name='dependent'> <ref name='xmlXPathContextSetCache'/> </word> <word name='depending'> @@ -21649,14 +21627,6 @@ <ref name='xmlExpExpDerive'/> <ref name='xmlExpStringDerive'/> </word> - <word name='des'> - <ref name='xmlTextReaderRelaxNGSetSchema'/> - <ref name='xmlTextReaderSetSchema'/> - </word> - <word name='desactivated'> - <ref name='xmlTextReaderRelaxNGSetSchema'/> - <ref name='xmlTextReaderSetSchema'/> - </word> <word name='descend'> <ref name='xmlDOMWrapCloneNode'/> </word> @@ -21920,6 +21890,7 @@ <ref name='xmlSchemaValidateSetLocator'/> </word> <word name='disabled'> + <ref name='LIBXML_EXPR_ENABLED'/> <ref name='XML_CAST_FPTR'/> <ref name='_xmlParserCtxt'/> <ref name='xmlParseURIRaw'/> @@ -21954,9 +21925,6 @@ <ref name='xmlSwitchInputEncoding'/> <ref name='xmlSwitchToEncoding'/> </word> - <word name='disctionary'> - <ref name='xmlDictOwns'/> - </word> <word name='display'> <ref name='errorSAXFunc'/> <ref name='fatalErrorSAXFunc'/> @@ -22357,11 +22325,6 @@ <ref name='xmlC14NDocSaveTo'/> <ref name='xmlC14NExecute'/> </word> - <word name='enconding'> - <ref name='xmlCharEncCloseFunc'/> - <ref name='xmlCharEncFirstLine'/> - <ref name='xmlCharEncOutFunc'/> - </word> <word name='encountered'> <ref name='xmlEncodeEntities'/> </word> @@ -22588,6 +22551,7 @@ <ref name='_xmlXPathParserContext'/> <ref name='valuePop'/> <ref name='valuePush'/> + <ref name='xmlRegFreeExecCtxt'/> <ref name='xmlRegNewExecCtxt'/> <ref name='xmlShellPrintXPathResult'/> <ref name='xmlXPathCompiledEval'/> @@ -22600,9 +22564,6 @@ <ref name='xmlXPtrBuildNodeList'/> <ref name='xmlXPtrEval'/> </word> - <word name='evaulation'> - <ref name='xmlRegFreeExecCtxt'/> - </word> <word name='even'> <ref name='_xmlParserInput'/> <ref name='xmlExpNewOr'/> @@ -23073,6 +23034,7 @@ </word> <word name='flag'> <ref name='XML_SCHEMAS_ELEM_CIRCULAR'/> + <ref name='_xmlDoc'/> <ref name='htmlSetMetaEncoding'/> <ref name='initxmlDefaultSAXHandler'/> <ref name='xmlSAX2InitDefaultSAXHandler'/> @@ -23146,10 +23108,6 @@ <ref name='xmlXPathBooleanFunction'/> <ref name='xmlXPathStringFunction'/> </word> - <word name='fonctionnalities'> - <ref name='xmlInputMatchCallback'/> - <ref name='xmlOutputMatchCallback'/> - </word> <word name='for:'> <ref name='xmlSchemaGetCanonValue'/> <ref name='xmlXPathContextSetCache'/> @@ -23328,7 +23286,9 @@ <ref name='xmlXPathTrailingSorted'/> </word> <word name='functionality'> + <ref name='xmlInputMatchCallback'/> <ref name='xmlNewGlobalNs'/> + <ref name='xmlOutputMatchCallback'/> <ref name='xmlXPathNodeSetGetLength'/> <ref name='xmlXPathNodeSetItem'/> </word> @@ -23565,6 +23525,7 @@ <ref name='xmlNewTextChild'/> </word> <word name='group'> + <ref name='XML_SCHEMAS_ATTRGROUP_GLOBAL'/> <ref name='XML_SCHEMAS_ATTRGROUP_HAS_REFS'/> <ref name='XML_SCHEMAS_ATTRGROUP_MARKED'/> <ref name='XML_SCHEMAS_ATTRGROUP_REDEFINED'/> @@ -23635,6 +23596,7 @@ </word> <word name='handling'> <ref name='XML_SCHEMAS_FACET_UNKNOWN'/> + <ref name='_xmlDoc'/> <ref name='attribute'/> <ref name='attributeSAXFunc'/> <ref name='htmlHandleOmittedElem'/> @@ -23726,7 +23688,6 @@ </word> <word name='highly'> <ref name='htmlParseElement'/> - <ref name='xmlParseElement'/> </word> <word name='hold'> <ref name='xmlDOMWrapReconcileNamespaces'/> @@ -23867,9 +23828,6 @@ <word name='identify'> <ref name='xmlParseAttributeType'/> </word> - <word name='identitier'> - <ref name='XML_MAX_NAME_LENGTH'/> - </word> <word name='identity-constraint'> <ref name='_xmlSchema'/> <ref name='_xmlSchemaElement'/> @@ -23965,7 +23923,6 @@ <ref name='xmlMemoryDump'/> </word> <word name='in-memory'> - <ref name='_xmlDoc'/> <ref name='_xmlParserCtxt'/> <ref name='docbParseDoc'/> <ref name='docbSAXParseDoc'/> @@ -24385,9 +24342,6 @@ <word name='inspect'> <ref name='xmlXPathDebugDumpObject'/> </word> - <word name='instace'> - <ref name='xmlSchematronValidateDoc'/> - </word> <word name='installed'> <ref name='xmlDictSize'/> <ref name='xmlHashSize'/> @@ -24637,7 +24591,6 @@ <ref name='htmlIsAutoClosed'/> <ref name='htmlParseElement'/> <ref name='xmlKeepBlanksDefault'/> - <ref name='xmlXPathInit'/> <ref name='xmlXPathOrderDocElems'/> </word> <word name='keyword'> @@ -24959,6 +24912,9 @@ <ref name='_htmlElemDesc'/> <ref name='xmlNodeDump'/> </word> + <word name='limits'> + <ref name='_xmlXPathContext'/> + </word> <word name='linear'> <ref name='htmlEntityLookup'/> <ref name='htmlEntityValueLookup'/> @@ -25972,14 +25928,12 @@ <ref name='xmlCheckUTF8'/> <ref name='xmlLoadExternalEntity'/> </word> - <word name='nothing'> - <ref name='xmlXPathInit'/> - </word> <word name='notice'> <ref name='xmlCleanupParser'/> <ref name='xmlCleanupThreads'/> </word> <word name='now'> + <ref name='LIBXML_EXPR_ENABLED'/> <ref name='XML_CAST_FPTR'/> <ref name='_xmlSchema'/> <ref name='_xmlSchemaElement'/> @@ -26084,12 +26038,6 @@ <ref name='xmlParseComment'/> <ref name='xmlParseMarkupDecl'/> </word> - <word name='occurences'> - <ref name='xmlAutomataNewCountTrans'/> - <ref name='xmlAutomataNewCountTrans2'/> - <ref name='xmlAutomataNewOnceTrans'/> - <ref name='xmlAutomataNewOnceTrans2'/> - </word> <word name='occurred'> <ref name='xmlCtxtGetLastError'/> <ref name='xmlDictCreate'/> @@ -26112,6 +26060,10 @@ <ref name='xmlXPathSubstringBeforeFunction'/> </word> <word name='occurrences'> + <ref name='xmlAutomataNewCountTrans'/> + <ref name='xmlAutomataNewCountTrans2'/> + <ref name='xmlAutomataNewOnceTrans'/> + <ref name='xmlAutomataNewOnceTrans2'/> <ref name='xmlXPathTranslateFunction'/> </word> <word name='occurs'> @@ -26208,9 +26160,6 @@ <ref name='xmlCatalogConvert'/> <ref name='xmlConvertSGMLCatalog'/> </word> - <word name='ononymous'> - <ref name='_xmlSchema'/> - </word> <word name='onto'> <ref name='xmlParserInputBufferGrow'/> <ref name='xmlStreamPush'/> @@ -26783,10 +26732,8 @@ <ref name='xmlXPathSubstringFunction'/> </word> <word name='positioned'> - <ref name='xmlTextReaderReadString'/> - </word> - <word name='positionned'> <ref name='xmlTextReaderReadAttributeValue'/> + <ref name='xmlTextReaderReadString'/> </word> <word name='positions'> <ref name='xmlUTF8Strsub'/> @@ -27108,9 +27055,6 @@ <ref name='xmlValidCtxtNormalizeAttributeValue'/> <ref name='xmlValidNormalizeAttributeValue'/> </word> - <word name='procgressed'> - <ref name='xmlTextReaderGetRemainder'/> - </word> <word name='produce'> <ref name='xmlCharEncodingOutputFunc'/> <ref name='xmlStringGetNodeList'/> @@ -27136,6 +27080,9 @@ <ref name='htmlInitAutoClose'/> <ref name='xmlInitParser'/> </word> + <word name='progressed'> + <ref name='xmlTextReaderGetRemainder'/> + </word> <word name='progresses'> <ref name='xmlRegNewExecCtxt'/> </word> @@ -27538,6 +27485,9 @@ <ref name='xmlParserAddNodeInfo'/> <ref name='xmlParserFindNodeInfoIndex'/> </word> + <word name='recorded'> + <ref name='valuePush'/> + </word> <word name='recover'> <ref name='xmlParseBalancedChunkMemoryRecover'/> </word> @@ -27581,7 +27531,6 @@ <ref name='xmlNewRMutex'/> <ref name='xmlNodeDump'/> <ref name='xmlNodeDumpOutput'/> - <ref name='xmlParseElement'/> <ref name='xmlParsePEReference'/> <ref name='xmlParserHandlePEReference'/> </word> @@ -27941,6 +27890,7 @@ <word name='required'> <ref name='XML_SCHEMAS_ATTR_USE_REQUIRED'/> <ref name='htmlRequiredAttrs'/> + <ref name='xmlC14NDocSave'/> <ref name='xmlCatalogSetDebug'/> <ref name='xmlSchemaCollapseString'/> <ref name='xmlSchemaWhiteSpaceReplace'/> @@ -27952,9 +27902,6 @@ <ref name='xmlC14NExecute'/> <ref name='xmlRelaxNGValidatePushElement'/> </word> - <word name='requred'> - <ref name='xmlC14NDocSave'/> - </word> <word name='reserved'> <ref name='xmlCheckLanguageID'/> <ref name='xmlNewTextChild'/> @@ -28037,14 +27984,14 @@ <word name='respecting'> <ref name='xmlValidGetValidElements'/> </word> - <word name='responsability'> - <ref name='xmlNewEntity'/> - </word> <word name='response'> <ref name='xmlNanoFTPCheckResponse'/> <ref name='xmlNanoFTPGetResponse'/> <ref name='xmlNanoHTTPContentLength'/> </word> + <word name='responsibility'> + <ref name='xmlNewEntity'/> + </word> <word name='responsible'> <ref name='xmlC14NDocDumpMemory'/> <ref name='xmlCanonicPath'/> @@ -28348,10 +28295,6 @@ <ref name='xmlHashScanner'/> <ref name='xmlHashScannerFull'/> </word> - <word name='scannner'> - <ref name='xmlHashScanner'/> - <ref name='xmlHashScannerFull'/> - </word> <word name='schemas'> <ref name='xmlRelaxNGNewDocParserCtxt'/> <ref name='xmlRelaxNGNewMemParserCtxt'/> @@ -28479,6 +28422,7 @@ <ref name='xmlCharEncOutFunc'/> <ref name='xmlClearNodeInfoSeq'/> <ref name='xmlCurrentChar'/> + <ref name='xmlExpIsNillable'/> <ref name='xmlExpNewSeq'/> <ref name='xmlExpParse'/> <ref name='xmlGetUTF8Char'/> @@ -28502,9 +28446,6 @@ <ref name='xmlValidNormalizeAttributeValue'/> <ref name='xmlXPathNormalizeFunction'/> </word> - <word name='sequqnce'> - <ref name='xmlExpIsNillable'/> - </word> <word name='serialization'> <ref name='LIBXML_OUTPUT_ENABLED'/> <ref name='xmlSaveToBuffer'/> @@ -29233,6 +29174,7 @@ <ref name='xmlSchemaValidateFile'/> </word> <word name='streaming'> + <ref name='_xmlParserCtxt'/> <ref name='xmlPatternGetStreamCtxt'/> <ref name='xmlStreamWantsAnyNode'/> </word> @@ -29325,11 +29267,6 @@ <ref name='xmlNodeDump'/> <ref name='xmlRegFreeExecCtxt'/> </word> - <word name='struture'> - <ref name='xmlRelaxNGParse'/> - <ref name='xmlSchemaParse'/> - <ref name='xmlSchematronParse'/> - </word> <word name='stuff'> <ref name='_xmlXPathContext'/> <ref name='xmlParseNamespace'/> @@ -29380,9 +29317,6 @@ <ref name='xmlGetParameterEntity'/> <ref name='xmlValidateDtdFinal'/> </word> - <word name='substituion'> - <ref name='XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION'/> - </word> <word name='substitute'> <ref name='xmlDOMWrapRemoveNode'/> </word> @@ -29524,7 +29458,7 @@ <ref name='xmlAutomataNewOnceTrans'/> <ref name='xmlAutomataNewOnceTrans2'/> </word> - <word name='sucessors'> + <word name='successors'> <ref name='xmlCheckLanguageID'/> </word> <word name='such'> @@ -29656,10 +29590,8 @@ <ref name='xmlDocSetRootElement'/> </word> <word name='takes'> - <ref name='xmlSchemaValidateFacetWhtsp'/> - </word> - <word name='tatkes'> <ref name='xmlExpExpDerive'/> + <ref name='xmlSchemaValidateFacetWhtsp'/> </word> <word name='tell'> <ref name='XML_COMPLETE_ATTRS'/> @@ -29948,10 +29880,6 @@ <ref name='xmlXPathTrailing'/> <ref name='xmlXPathTrailingSorted'/> </word> - <word name='trancoding'> - <ref name='xmlSaveFileTo'/> - <ref name='xmlSaveFormatFileTo'/> - </word> <word name='transaction'> <ref name='xmlNanoHTTPSave'/> </word> @@ -29971,8 +29899,10 @@ <ref name='xmlParserInputBufferGrow'/> <ref name='xmlParserInputBufferPush'/> <ref name='xmlParserInputBufferRead'/> + <ref name='xmlSaveFileTo'/> + <ref name='xmlSaveFormatFileTo'/> </word> - <word name='transfered'> + <word name='transferred'> <ref name='xmlParsePI'/> </word> <word name='transformation'> @@ -30032,9 +29962,6 @@ <word name='traverse'> <ref name='xmlXPathAxisFunc'/> </word> - <word name='treaming'> - <ref name='_xmlParserCtxt'/> - </word> <word name='treated'> <ref name='xmlParseAttValue'/> </word> @@ -30089,9 +30016,6 @@ <ref name='xmlURIEscape'/> <ref name='xmlValidateRoot'/> </word> - <word name='ttribute'> - <ref name='xmlTextReaderReadAttributeValue'/> - </word> <word name='tune'> <ref name='xmlBufferSetAllocationScheme'/> </word> @@ -30182,6 +30106,9 @@ <ref name='xmlSetCompressMode'/> <ref name='xmlSetDocCompressMode'/> </word> + <word name='unconditionally'> + <ref name='LIBXML_EXPR_ENABLED'/> + </word> <word name='under'> <ref name='xmlBuildRelativeURI'/> <ref name='xmlSearchNs'/> @@ -30350,27 +30277,6 @@ <ref name='xmlTextReaderSetSchema'/> <ref name='xmlXPathAxisFunc'/> </word> - <word name='unused'> - <ref name='ATTRIBUTE_UNUSED'/> - <ref name='_xmlEntity'/> - <ref name='_xmlSAXHandler'/> - <ref name='_xmlSAXHandlerV1'/> - <ref name='_xmlSchema'/> - <ref name='_xmlXPathContext'/> - <ref name='xmlDOMWrapReconcileNamespaces'/> - <ref name='xmlDOMWrapRemoveNode'/> - <ref name='xmlSchemaValidateFile'/> - <ref name='xmlShellBase'/> - <ref name='xmlShellCat'/> - <ref name='xmlShellDir'/> - <ref name='xmlShellDu'/> - <ref name='xmlShellList'/> - <ref name='xmlShellLoad'/> - <ref name='xmlShellPwd'/> - <ref name='xmlShellSave'/> - <ref name='xmlShellValidate'/> - <ref name='xmlShellWrite'/> - </word> <word name='update'> <ref name='xmlCheckHTTPInput'/> <ref name='xmlNanoFTPUpdateURL'/> @@ -30514,13 +30420,13 @@ <ref name='xmlValidCtxtNormalizeAttributeValue'/> <ref name='xmlValidNormalizeAttributeValue'/> </word> - <word name='varags'> - <ref name='xmlGenericErrorFunc'/> - </word> <word name='vararg'> <ref name='xmlValidityErrorFunc'/> <ref name='xmlValidityWarningFunc'/> </word> + <word name='varargs'> + <ref name='xmlGenericErrorFunc'/> + </word> <word name='variables'> <ref name='XML_XPATH_NOVAR'/> <ref name='_xmlXPathContext'/> @@ -30650,6 +30556,9 @@ <word name='ways:'> <ref name='xmlValidGetValidElements'/> </word> + <word name='weird'> + <ref name='xmlBuildRelativeURI'/> + </word> <word name='well'> <ref name='_xmlParserCtxt'/> <ref name='htmlSAXParseDoc'/> @@ -30702,9 +30611,6 @@ <ref name='xmlXIncludeProcessTreeFlags'/> <ref name='xmlXIncludeProcessTreeFlagsData'/> </word> - <word name='wether'> - <ref name='_xmlNodeSet'/> - </word> <word name='what'> <ref name='xmlCatalogGetDefaults'/> <ref name='xmlCatalogSetDefaults'/> @@ -30789,11 +30695,7 @@ <ref name='xmlModuleOpen'/> <ref name='xmlModuleSymbol'/> </word> - <word name='wierd'> - <ref name='xmlBuildRelativeURI'/> - </word> <word name='wildcard'> - <ref name='XML_SCHEMAS_ATTRGROUP_GLOBAL'/> <ref name='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED'/> <ref name='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD'/> <ref name='XML_SCHEMAS_WILDCARD_COMPLETE'/> @@ -31120,9 +31022,6 @@ <word name='xmlAttributeTablePtr'> <ref name='xmlCopyAttributeTable'/> </word> - <word name='xmlBufNodeDump'> - <ref name='xmlNodeDump'/> - </word> <word name='xmlBufPtr'> <ref name='xmlBufGetNodeContent'/> </word> @@ -31493,6 +31392,9 @@ <ref name='xmlNewTextWriterPushParser'/> <ref name='xmlNewTextWriterTree'/> </word> + <word name='xmlNodeDumpOutput'> + <ref name='xmlNodeDump'/> + </word> <word name='xmlNodeListGetString'> <ref name='xmlNodeListGetRawString'/> </word> @@ -31522,9 +31424,6 @@ <ref name='xmlXPathFreeNodeSet'/> <ref name='xmlXPathNodeSetCreate'/> </word> - <word name='xmlNodeType'> - <ref name='xmlTextReaderNodeType'/> - </word> <word name='xmlNotationPtr'> <ref name='xmlGetDtdNotationDesc'/> </word> @@ -31675,6 +31574,9 @@ <word name='xmlReader'> <ref name='LIBXML_READER_ENABLED'/> </word> + <word name='xmlReaderTypes'> + <ref name='xmlTextReaderNodeType'/> + </word> <word name='xmlRefPtr'> <ref name='xmlAddRef'/> </word> diff --git a/doc/libxml2.xsa b/doc/libxml2.xsa index 7f4c048b..07f97086 100644 --- a/doc/libxml2.xsa +++ b/doc/libxml2.xsa @@ -8,51 +8,67 @@ </vendor> <product id="libxml2"> <name>libxml2</name> - <version>v2.9.8</version> - <last-release> Mar 05 2018</last-release> + <version>v2.9.9</version> + <last-release> Jan 03 2019</last-release> <info-url>http://xmlsoft.org/</info-url> - <changes> - Portability: - python: remove single use of _PyVerify_fd (Patrick Welche), - Build more test executables on Windows/MSVC (Nick Wellnhofer), - Stop including ansidecl.h (Nick Wellnhofer), - Fix libz and liblzma detection (Nick Wellnhofer), - Revert "Compile testapi with -Wno-unused-function" (Nick Wellnhofer) + <changes> - Security: + CVE-2018-9251 CVE-2018-14567 Fix infinite loop in LZMA decompression (Nick Wellnhofer), + CVE-2018-14404 Fix nullptr deref with XPath logic ops (Nick Wellnhofer), + + - Documentation: + reader: Fix documentation comment (Mohammed Sadiq) + + - Portability: + Fix MSVC build with lzma (Nick Wellnhofer), + Variables need 'extern' in static lib on Cygwin (Michael Haubenwallner), + Really declare dllexport/dllimport for Cygwin (Michael Haubenwallner), + Merge branch 'patch-2' into 'master' (Nick Wellnhofer), + Change dir to $THEDIR after ACLOCAL_PATH check autoreconf creates aclocal.m4 in $srcdir (Vitaly Buka), + Improve error message if pkg.m4 couldn't be found (Nick Wellnhofer), + NaN and Inf fixes for pre-C99 compilers (Nick Wellnhofer) - Bug Fixes: - Fix xmlParserEntityCheck (Nick Wellnhofer), - Halt parser in case of encoding error (Nick Wellnhofer), - Clear entity content in case of errors (Nick Wellnhofer), - Change calls to xmlCharEncInput to set flush false when not final call. Having flush incorrectly set to true causes errors for ICU. (Joel Hockey), - Fix buffer over-read in xmlParseNCNameComplex (Nick Wellnhofer), - Fix ICU library filenames on Windows/MSVC (Nick Wellnhofer), - Fix xmlXPathIsNaN broken by recent commit (Nick Wellnhofer), - Fix -Wenum-compare warnings (Nick Wellnhofer), - Fix callback signature in testapi.c (Nick Wellnhofer), - Fix unused parameter warning without ICU (Nick Wellnhofer), - Fix IO callback signatures (Nick Wellnhofer), - Fix misc callback signatures (Nick Wellnhofer), - Fix list callback signatures (Nick Wellnhofer), - Fix hash callback signatures (Nick Wellnhofer), - Refactor name and type signature for xmlNop (Vlad Tsyrklevich), - Fixed ICU to set flush correctly and provide pivot buffer. (Joel Hockey), - Skip EBCDIC tests if EBCDIC isn't supported (Nick Wellnhofer) + Revert "Support xmlTextReaderNextSibling w/o preparsed doc" (Nick Wellnhofer), + Fix building relative URIs (Thomas Holder), + Problem with data in interleave in RelaxNG validation (Nikolai Weibull), + Fix memory leak in xmlSwitchInputEncodingInt error path (Nick Wellnhofer), + Set doc on element obtained from freeElems (Nick Wellnhofer), + Fix HTML serialization with UTF-8 encoding (Nick Wellnhofer), + Use actual doc in xmlTextReaderRead*Xml (Nick Wellnhofer), + Unlink node before freeing it in xmlSAX2StartElement (Nick Wellnhofer), + Check return value of nodePush in xmlSAX2StartElement (Nick Wellnhofer), + Free input buffer in xmlHaltParser (Nick Wellnhofer), + Reset HTML parser input pointers on encoding failure (Nick Wellnhofer), + Don't run icu_parse_test if EUC-JP is unsupported (Nick Wellnhofer), + Fix xmlSchemaValidCtxtPtr reuse memory leak (Greg Hildstrom), + Fix xmlTextReaderNext with preparsed document (Felix Bünemann), + Remove stray character from comment (Nick Wellnhofer), + Remove a misleading line from xmlCharEncOutput (Andrey Bienkowski), + HTML noscript should not close p (Daniel Veillard), + Don't change context node in xmlXPathRoot (Nick Wellnhofer), + Stop using XPATH_OP_RESET (Nick Wellnhofer), + Revert "Change calls to xmlCharEncInput to set flush false" (Nick Wellnhofer) - Improvements: - Disable pointer-overflow UBSan checks under Travis (Nick Wellnhofer), - Improve handling of context input_id (Daniel Veillard), - Add resource file to Windows DLL (ccpaging), - Run Travis tests with -Werror (Nick Wellnhofer), - Build with "-Wall -Wextra" (Nick Wellnhofer), - Fix -Wtautological-pointer-compare warnings (Nick Wellnhofer), - Remove unused AC_CHECKs (Nick Wellnhofer), - Update information about contributing (Nick Wellnhofer), - Fix -Wmisleading-indentation warnings (Nick Wellnhofer), - Don't touch CFLAGS in configure.ac (Nick Wellnhofer), - Ignore function pointer cast warnings (Nick Wellnhofer), - Simplify XPath NaN, inf and -0 handling (Nick Wellnhofer), - Introduce xmlPosixStrdup and update xmlMemStrdup (Nick Wellnhofer), - Add test for ICU flush and pivot buffer (Nick Wellnhofer), - Compile testapi with -Wno-unused-function (Nick Wellnhofer) + Fix "Problem with data in interleave in RelaxNG validation" (Nikolai Weibull), + cleanup: remove some unreachable code (Thomas Holder), + add --relative to testURI (Thomas Holder), + Remove redefined starts and defines inside include elements (Nikolai Weibull), + Allow choice within choice in nameClass in RELAX NG (Nikolai Weibull), + Look inside divs for starts and defines inside include (Nikolai Weibull), + Add compile and libxml2-config.cmake to .gitignore (Nikolai Weibull), + Stop using doc->charset outside parser code (Nick Wellnhofer), + Add newlines to 'xmllint --xpath' output (Nick Wellnhofer), + Don't include SAX.h from globals.h (Nick Wellnhofer), + Support xmlTextReaderNextSibling w/o preparsed doc (Felix Bünemann), + Don't instruct user to run make when autogen.sh failed (æž—åšä»(Buo-ren Lin)), + Run Travis ASan tests with "sudo: required" (Nick Wellnhofer), + Improve restoring of context size and position (Nick Wellnhofer), + Simplify and harden nodeset filtering (Nick Wellnhofer), + Avoid unnecessary backups of the context node (Nick Wellnhofer), + Fix inconsistency in xmlXPathIsInf (Nick Wellnhofer) + + - Cleanups: </changes> diff --git a/doc/namespaces.html b/doc/namespaces.html index 878f7fe3..995587b5 100644 --- a/doc/namespaces.html +++ b/doc/namespaces.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Namespaces</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Namespaces</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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 libxml2 library implements <a href="http://www.w3.org/TR/REC-xml-names/">XML namespaces</a> support by +</style><title>Namespaces</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Namespaces</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="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 & 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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The libxml2 library implements <a href="http://www.w3.org/TR/REC-xml-names/">XML namespaces</a> support by recognizing namespace constructs in the input, and does namespace lookup automatically when building the DOM tree. A namespace declaration is associated with an in-memory structure and all elements or attributes within diff --git a/doc/news.html b/doc/news.html index db07ab6e..434a09e9 100644 --- a/doc/news.html +++ b/doc/news.html @@ -7,8 +7,145 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Releases</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Releases</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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.9: Jan 03 2019</h3><ul> +</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 & 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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The <a href="ChangeLog.html">change log</a> describes the recents commits +to the <a href="https://gitlab.gnome.org/GNOME/libxml2">GIT</a> code base.</p><p>Here is the list of public releases:</p><h3>v2.9.10: Oct 30 2019</h3><ul> + <li>Documentation:<br /> + Fix a few more typos ("fonction") (Nick Wellnhofer),<br /> + Large batch of typo fixes (Jared Yanovich),<br /> + Fix typos: tree: move{ -> s}, reconcil{i -> }ed, h{o -> e}ld by... (Jan Pokorný),<br /> + Fix typo: xpath: simpli{ -> fi}ed (Jan Pokorný),<br /> + Doc: do not mislead towards "infeasible" scenario wrt. xmlBufNodeDump (Jan Pokorný),<br /> + Fix comments in test code (zhouzhongyuan),<br /> + fix comment in testReader.c (zhouzhongyuan)<br /> + </li> + + <li>Portability:<br /> + Fix some release issues on Fedora 30 (Daniel Veillard),<br /> + Fix exponent digits when running tests under old MSVC (Daniel Richard G),<br /> + Work around buggy ceil() function on AIX (Daniel Richard G),<br /> + Don't call printf with NULL string in runtest.c (Daniel Richard G),<br /> + Switched from unsigned long to ptrdiff_t in parser.c (Stephen Chenney),<br /> + timsort.h: support older GCCs (Jérôme Duval),<br /> + Make configure.ac work with older pkg-config (Nick Wellnhofer),<br /> + Stop defining _REENTRANT on some Win32 platforms (Nick Wellnhofer),<br /> + Fix nanohttp.c on MinGW (Nick Wellnhofer),<br /> + Fix Windows compiler warning in testC14N.c (Nick Wellnhofer),<br /> + Merge testThreadsWin32.c into testThreads.c (Nick Wellnhofer),<br /> + Fix Python bindings under Windows (Nick Wellnhofer)<br /> + </li> + + <li>Bug Fixes:<br /> + Another fix for conditional sections at end of document (Nick Wellnhofer),<br /> + Fix for conditional sections at end of document (Nick Wellnhofer),<br /> + Make sure that Python tests exit with error code (Nick Wellnhofer),<br /> + Audit memory error handling in xpath.c (Nick Wellnhofer),<br /> + Fix error code in xmlTextWriterStartDocument (Nick Wellnhofer),<br /> + Fix integer overflow when counting written bytes (Nick Wellnhofer),<br /> + Fix uninitialized memory access in HTML parser (Nick Wellnhofer),<br /> + Fix memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),<br /> + Disallow conditional sections in internal subset (Nick Wellnhofer),<br /> + Fix use-after-free in xmlTextReaderFreeNodeList (Nick Wellnhofer),<br /> + Fix Regextests (Nick Wellnhofer),<br /> + Fix empty branch in regex (Nick Wellnhofer),<br /> + Fix integer overflow in entity recursion check (Nick Wellnhofer),<br /> + Don't read external entities or XIncludes from stdin (Nick Wellnhofer),<br /> + Fix Schema determinism check of ##other namespaces (Nick Wellnhofer),<br /> + Fix potential null deref in xmlSchemaIDCFillNodeTables (zhouzhongyuan),<br /> + Fix potential memory leak in xmlBufBackToBuffer (Nick Wellnhofer),<br /> + Fix error message when processing XIncludes with fallbacks (Nick Wellnhofer),<br /> + Fix memory leak in xmlRegEpxFromParse (zhouzhongyuan),<br /> + 14:00 is a valid timezone for xs:dateTime (Nick Wellnhofer),<br /> + Fix memory leak in xmlParseBalancedChunkMemoryRecover (Zhipeng Xie),<br /> + Fix potential null deref in xmlRelaxNGParsePatterns (Nick Wellnhofer),<br /> + Misleading error message with xs:{min|max}Inclusive (bettermanzzy),<br /> + Fix memory leak in xmlXIncludeLoadTxt (Wang Kirin),<br /> + Partial fix for comparison of xs:durations (Nick Wellnhofer),<br /> + Fix null deref in xmlreader buffer (zhouzhongyuan),<br /> + Fix unability to RelaxNG-validate grammar with choice-based name class (Jan Pokorný),<br /> + Fix unability to validate ambiguously constructed interleave for RelaxNG (Jan Pokorný),<br /> + Fix possible null dereference in xmlXPathIdFunction (zhouzhongyuan),<br /> + fix memory leak in xmlAllocOutputBuffer (zhouzhongyuan),<br /> + Fix unsigned int overflow (Jens Eggerstedt),<br /> + dict.h: gcc 2.95 doesn't allow multiple storage classes (Nick Wellnhofer),<br /> + Fix another code path in xmlParseQName (Nick Wellnhofer),<br /> + Make sure that xmlParseQName returns NULL in error case (Nick Wellnhofer),<br /> + Fix build without reader but with pattern (Nick Wellnhofer),<br /> + Fix memory leak in xmlAllocOutputBufferInternal error path (Nick Wellnhofer),<br /> + Fix unsigned integer overflow (Nick Wellnhofer),<br /> + Fix return value of xmlOutputBufferWrite (Nick Wellnhofer),<br /> + Fix parser termination from "Double hyphen within comment" error (David Warring),<br /> + Fix call stack overflow in xmlFreePattern (Nick Wellnhofer),<br /> + Fix null deref in previous commit (Nick Wellnhofer),<br /> + Fix memory leaks in xmlXPathParseNameComplex error paths (Nick Wellnhofer),<br /> + Check for integer overflow in xmlXPtrEvalChildSeq (Nick Wellnhofer),<br /> + Fix xmllint dump of XPath namespace nodes (Nick Wellnhofer),<br /> + Fix float casts in xmlXPathSubstringFunction (Nick Wellnhofer),<br /> + Fix null deref in xmlregexp error path (Nick Wellnhofer),<br /> + Fix null pointer dereference in xmlTextReaderReadOuterXml (Nick Wellnhofer),<br /> + Fix memory leaks in xmlParseStartTag2 error paths (Nick Wellnhofer),<br /> + Fix memory leak in xmlSAX2StartElement (Nick Wellnhofer),<br /> + Fix commit "Memory leak in xmlFreeID (xmlreader.c)" (Nick Wellnhofer),<br /> + Fix NULL pointer deref in xmlTextReaderValidateEntity (Nick Wellnhofer),<br /> + Memory leak in xmlFreeTextReader (Nick Wellnhofer),<br /> + Memory leak in xmlFreeID (xmlreader.c) (Nick Wellnhofer)<br /> + </li> + + <li>Improvements:<br /> + Run XML conformance tests under CI (Nick Wellnhofer),<br /> + Update GitLab CI config (Nick Wellnhofer),<br /> + Propagate memory errors in valuePush (Nick Wellnhofer),<br /> + Propagate memory errors in xmlXPathCompExprAdd (Nick Wellnhofer),<br /> + Make xmlFreeDocElementContent non-recursive (Nick Wellnhofer),<br /> + Enable continuous integration via GitLab CI (Nick Wellnhofer),<br /> + Avoid ignored attribute warnings under GCC (Nick Wellnhofer),<br /> + Make xmlDumpElementContent non-recursive (Nick Wellnhofer),<br /> + Make apibuild.py ignore ATTRIBUTE_NO_SANITIZE (Nick Wellnhofer),<br /> + Mark xmlExp* symbols as removed (Nick Wellnhofer),<br /> + Make xmlParseConditionalSections non-recursive (Nick Wellnhofer),<br /> + Adjust expected error in Python tests (Nick Wellnhofer),<br /> + Make xmlTextReaderFreeNodeList non-recursive (Nick Wellnhofer),<br /> + Make xmlFreeNodeList non-recursive (Nick Wellnhofer),<br /> + Make xmlParseContent and xmlParseElement non-recursive (Nick Wellnhofer),<br /> + Remove executable bit from non-executable files (Nick Wellnhofer),<br /> + Fix expected output of test/schemas/any4 (Nick Wellnhofer),<br /> + Optimize build instructions in README (zhouzhongyuan),<br /> + xml2-config.in: Output CFLAGS and LIBS on the same line (Hugh McMaster),<br /> + xml2-config: Add a --dynamic switch to print only shared libraries (Hugh McMaster),<br /> + Annotate functions with __attribute__((no_sanitize)) (Nick Wellnhofer),<br /> + Fix warnings when compiling without reader or push parser (Nick Wellnhofer),<br /> + Remove unused member `doc` in xmlSaveCtxt (Nick Wellnhofer),<br /> + Limit recursion depth in xmlXPathCompOpEvalPredicate (Nick Wellnhofer),<br /> + Remove -Wno-array-bounds (Nick Wellnhofer),<br /> + Remove unreachable code in xmlXPathCountFunction (Nick Wellnhofer),<br /> + Improve XPath predicate and filter evaluation (Nick Wellnhofer),<br /> + Limit recursion depth in xmlXPathOptimizeExpression (Nick Wellnhofer),<br /> + Disable hash randomization when fuzzing (Nick Wellnhofer),<br /> + Optional recursion limit when parsing XPath expressions (Nick Wellnhofer),<br /> + Optional recursion limit when evaluating XPath expressions (Nick Wellnhofer),<br /> + Use break statements in xmlXPathCompOpEval (Nick Wellnhofer),<br /> + Optional XPath operation limit (Nick Wellnhofer),<br /> + Fix compilation with --with-minimum (Nick Wellnhofer),<br /> + Check XPath stack after calling functions (Nick Wellnhofer),<br /> + Remove debug printf in xmlreader.c (Nick Wellnhofer),<br /> + Always define LIBXML_THREAD_ENABLED when enabled (Michael Haubenwallner),<br /> + Regenerate NEWS (Nick Wellnhofer),<br /> + Change git repo URL (Nick Wellnhofer),<br /> + Change bug tracker URL (Nick Wellnhofer),<br /> + Remove outdated HTML file (Nick Wellnhofer),<br /> + Fix unused function warning in testapi.c (Nick Wellnhofer),<br /> + Add some generated test files to .gitignore (Nick Wellnhofer),<br /> + Remove unneeded function pointer casts (Nick Wellnhofer),<br /> + Fix -Wcast-function-type warnings (GCC 8) (Nick Wellnhofer),<br /> + Fix -Wformat-truncation warnings (GCC 8) (Nick Wellnhofer)<br /> + </li> + + <li>Cleanups:<br /> + Rebuild docs (Nick Wellnhofer),<br /> + Disable xmlExp regex code (Nick Wellnhofer),<br /> + Remove redundant code in xmlRelaxNGValidateState (Nick Wellnhofer),<br /> + Remove redundant code in xmlXPathCompRelationalExpr (Nick Wellnhofer)<br /> + </li> +</ul><h3>v2.9.9: Jan 03 2019</h3><ul> <li>Security:<br /> CVE-2018-9251 CVE-2018-14567 Fix infinite loop in LZMA decompression (Nick Wellnhofer),<br /> CVE-2018-14404 Fix nullptr deref with XPath logic ops (Nick Wellnhofer),<br /> @@ -1394,7 +1531,7 @@ Gansterer),<br /> on Windows (Igor Zlatkovic), htmlCtxtReset fix (Michael Day), XPath principal node of axis bug, HTML serialization of some codepoint (Steven Rainwater), user data propagation in XInclude (Michael Day), - standalone and XML decl detection (Michael Day), Python id ouptut + standalone and XML decl detection (Michael Day), Python id output for some id, fix the big python string memory leak, URI parsing fixes (Stéphane Bidoul and William), long comments parsing bug (William), concurrent threads initialization (Ted Phelps), invalid char @@ -1406,7 +1543,7 @@ Gansterer),<br /> min occurs of 0 (William), HTML script/style parsing (Mike Day)</li> <li>Improvement: make xmlTextReaderSetup() public</li> <li>Compilation and postability: fix a missing include problem (William), - __ss_familly on AIX again (Björn Wiberg), compilation without zlib + __ss_family on AIX again (Björn Wiberg), compilation without zlib (Michael Day), catalog patch for Win32 (Christian Ehrlicher), Windows CE fixes (Andreas Stricke)</li> <li>Various CVS to SVN infrastructure changes</li> @@ -1443,7 +1580,7 @@ Gansterer),<br /> fix attribute serialization in writer (Rob Richards), PHP4 DTD validation crasher, parser safety patch (Ben Darnell), _private context propagation when parsing entities (with Michael Day), fix entities behaviour when - using SAX, URI to file path fix (Mikhail Zabaluev), disapearing validity + using SAX, URI to file path fix (Mikhail Zabaluev), disappearing validity context, arg error in SAX callback (Mike Hommey), fix mixed-content autodetect when using --noblanks, fix xmlIOParseDTD error handling, fix bug in xmlSplitQName on special Names, fix Relax-NG element content @@ -1519,7 +1656,7 @@ Gansterer),<br /> split problem (William), issues with non-namespaced attributes in xmlAddChild() xmlAddNextSibling() and xmlAddPrevSibling() (Rob Richards), HTML parsing of script, Python must not output to stdout (Nic Ferrier), - exclusive C14N namespace visibility (Aleksey Sanin), XSD dataype + exclusive C14N namespace visibility (Aleksey Sanin), XSD datatype totalDigits bug (Kasimier Buchcik), error handling when writing to an xmlBuffer (Rob Richards), runtest schemas error not reported (Hisashi Fujinaka), signed/unsigned problem in date/time code (Albert Chin), fix @@ -1528,7 +1665,7 @@ Gansterer),<br /> (Gary Coady), regexp bug affecting schemas (Kasimier), configuration of runtime debugging (Kasimier), xmlNodeBufGetContent bug on entity refs (Oleksandr Kononenko), xmlRegExecPushString2 bug (Sreeni Nair), - compilation and build fixes (Michael Day), removed dependancies on + compilation and build fixes (Michael Day), removed dependencies on xmlSchemaValidError (Kasimier), bug with <xml:foo/>, more XPath pattern based evaluation fixes (Kasimier)</li> <li>improvements: XSD Schemas redefinitions/restrictions (Kasimier @@ -1569,7 +1706,7 @@ Gansterer),<br /> foreign namespaces handling, XML Schemas facet comparison (Kupriyanov Anatolij), xmlSchemaPSimpleTypeErr error report (Kasimier Buchcik), xml: namespace ahndling in Schemas (Kasimier), empty model group in Schemas - (Kasimier), wilcard in Schemas (Kasimier), URI composition (William), + (Kasimier), wildcard in Schemas (Kasimier), URI composition (William), xs:anyType in Schemas (Kasimier), Python resolver emmitting error messages directly, Python xmlAttr.parent (Jakub Piotr Clapa), trying to fix the file path/URI conversion, xmlTextReaderGetAttribute fix (Rob @@ -1729,7 +1866,7 @@ Gansterer),<br /> Buchcik), XInclude testing, Notation serialization, UTF8ToISO8859x transcoding (Mark Itzcovitz), lots of XML Schemas cleanup and fixes (Kasimier), ChangeLog cleanup (Stepan Kasal), memory fixes (Mark Vakoc), - handling of failed realloc(), out of bound array adressing in Schemas + handling of failed realloc(), out of bound array addressing in Schemas date handling, Python space/tabs cleanups (Malcolm Tredinnick), NMTOKENS E20 validation fix (Malcolm),</li> <li>improvements: added W3C XML Schemas testsuite (Kasimier Buchcik), add @@ -1744,7 +1881,7 @@ Gansterer),<br /> (Kasimier Buchcik), Schemas validation crash, xmlCheckUTF8 (William Brack and Julius Mittenzwei), Schemas facet check (Kasimier), default namespace problem (William), Schemas hexbinary empty values, encoding error could - genrate a serialization loop.</li> + generate a serialization loop.</li> <li>Improvements: Schemas validity improvements (Kasimier), added --path and --load-trace options to xmllint</li> <li>documentation: tutorial update (John Fleck)</li> @@ -1888,7 +2025,7 @@ Gansterer),<br /> --with-minimum configuration.</li> <li>XInclude: allow the 2001 namespace without warning.</li> <li>Documentation: missing example/index.html (John Fleck), version - dependancies (John Fleck)</li> + dependencies (John Fleck)</li> <li>reader API: structured error reporting (Steve Ball)</li> <li>Windows compilation: mingw, msys (Mikhail Grushinskiy), function prototype (Cameron Johnson), MSVC6 compiler warnings, _WINSOCKAPI_ @@ -2010,7 +2147,7 @@ Gansterer),<br /> intercepted at a structured level, with precise information available.</li> <li>New simpler and more generic XML and HTML parser APIs, allowing to - easilly modify the parsing options and reuse parser context for multiple + easily modify the parsing options and reuse parser context for multiple consecutive documents.</li> <li>Similar new APIs for the xmlReader, for options and reuse, provided new functions to access content as const strings, use them for Python diff --git a/doc/python.html b/doc/python.html index bd52649f..f41f1412 100644 --- a/doc/python.html +++ b/doc/python.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Python and bindings</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Python and bindings</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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>There are a number of language bindings and wrappers available for +</style><title>Python and bindings</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Python and bindings</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>There are a number of language bindings and wrappers available for libxml2, the list below is not exhaustive. Please contact the <a href="http://mail.gnome.org/mailman/listinfo/xml-bindings">xml-bindings@gnome.org</a> (<a href="http://mail.gnome.org/archives/xml-bindings/">archives</a>) in order to get updates to this list or to discuss the specific topic of libxml2 @@ -43,14 +43,14 @@ or libxslt wrappers or bindings:</p><ul> <li><a href="http://savannah.gnu.org/projects/classpathx/">LibxmlJ</a> is an effort to create a 100% JAXP-compatible Java wrapper for libxml2 and libxslt as part of GNU ClasspathX project.</li> - <li>Patrick McPhee provides Rexx bindings fof libxml2 and libxslt, look for + <li>Patrick McPhee provides Rexx bindings for libxml2 and libxslt, look for <a href="http://www.interlog.com/~ptjm/software.html">RexxXML</a>.</li> <li><a href="http://www.satimage.fr/software/en/xml_suite.html">Satimage</a> provides <a href="http://www.satimage.fr/software/en/downloads_osaxen.html">XMLLib osax</a>. This is an osax for Mac OS X with a set of commands to implement in AppleScript the XML DOM, XPATH and XSLT. Also includes commands for Property-lists (Apple's fast lookup table XML format.)</li> - <li>Francesco Montorsi developped <a href="https://sourceforge.net/project/showfiles.php?group_id=51305&package_id=45182">wxXml2</a> + <li>Francesco Montorsi developed <a href="https://sourceforge.net/project/showfiles.php?group_id=51305&package_id=45182">wxXml2</a> wrappers that interface libxml2, allowing wxWidgets applications to load/save/edit XML instances.</li> </ul><p>The distribution includes a set of Python bindings, which are guaranteed diff --git a/doc/site.xsl b/doc/site.xsl index 11aaee2b..353655ec 100644 --- a/doc/site.xsl +++ b/doc/site.xsl @@ -406,7 +406,7 @@ <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> + <li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li> </ul> </xsl:variable> <xsl:template name="toc"> diff --git a/doc/symbols.xml b/doc/symbols.xml index 99aea710..a52202a2 100644 --- a/doc/symbols.xml +++ b/doc/symbols.xml @@ -1658,27 +1658,27 @@ </release> <release version="2.6.21"> <symbol file="xmlautomata">xmlAutomataNewNegTrans</symbol> - <symbol file="xmlregexp">emptyExp</symbol> - <symbol file="xmlregexp">forbiddenExp</symbol> - <symbol file="xmlregexp">xmlExpCtxtNbCons</symbol> - <symbol file="xmlregexp">xmlExpCtxtNbNodes</symbol> - <symbol file="xmlregexp">xmlExpDump</symbol> - <symbol file="xmlregexp">xmlExpExpDerive</symbol> - <symbol file="xmlregexp">xmlExpFreeCtxt</symbol> - <symbol file="xmlregexp">xmlExpFree</symbol> - <symbol file="xmlregexp">xmlExpGetLanguage</symbol> - <symbol file="xmlregexp">xmlExpGetStart</symbol> - <symbol file="xmlregexp">xmlExpIsNillable</symbol> - <symbol file="xmlregexp">xmlExpMaxToken</symbol> - <symbol file="xmlregexp">xmlExpNewAtom</symbol> - <symbol file="xmlregexp">xmlExpNewCtxt</symbol> - <symbol file="xmlregexp">xmlExpNewOr</symbol> - <symbol file="xmlregexp">xmlExpNewRange</symbol> - <symbol file="xmlregexp">xmlExpNewSeq</symbol> - <symbol file="xmlregexp">xmlExpParse</symbol> - <symbol file="xmlregexp">xmlExpRef</symbol> - <symbol file="xmlregexp">xmlExpStringDerive</symbol> - <symbol file="xmlregexp">xmlExpSubsume</symbol> + <symbol removed="2.9.10" file="xmlregexp">emptyExp</symbol> + <symbol removed="2.9.10" file="xmlregexp">forbiddenExp</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpCtxtNbCons</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpCtxtNbNodes</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpDump</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpExpDerive</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpFreeCtxt</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpFree</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpGetLanguage</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpGetStart</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpIsNillable</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpMaxToken</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpNewAtom</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpNewCtxt</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpNewOr</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpNewRange</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpNewSeq</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpParse</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpRef</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpStringDerive</symbol> + <symbol removed="2.9.10" file="xmlregexp">xmlExpSubsume</symbol> <symbol file="parser">xmlHasFeature</symbol> <symbol file="uri">xmlParseURIRaw</symbol> <symbol file="pattern">xmlPatternMinDepth</symbol> @@ -1768,4 +1768,7 @@ <release version="2.9.8"> <symbol file="hash">xmlHashDefaultDeallocator</symbol> </release> + <release version="2.9.11"> + <symbol file="xmlIO">xmlPopOutputCallbacks</symbol> + </release> </symbols> diff --git a/doc/threads.html b/doc/threads.html index f7ac957f..d16e7d75 100644 --- a/doc/threads.html +++ b/doc/threads.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Thread safety</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Thread safety</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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>Starting with 2.4.7, libxml2 makes provisions to ensure that concurrent +</style><title>Thread safety</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Thread safety</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Starting with 2.4.7, libxml2 makes provisions to ensure that concurrent threads can safely work in parallel parsing different documents. There is however a couple of things to do to ensure it:</p><ul> <li>configure the library accordingly using the --with-threads options</li> diff --git a/doc/tree.html b/doc/tree.html index 3d289d85..9f776bad 100644 --- a/doc/tree.html +++ b/doc/tree.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>The tree output</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>The tree output</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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 parser returns a tree built during the document analysis. The value +</style><title>The tree output</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>The tree output</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The parser returns a tree built during the document analysis. The value returned is an <strong>xmlDocPtr</strong> (i.e., a pointer to an <strong>xmlDoc</strong> structure). This structure contains information such as the file name, the document type, and a <strong>children</strong> pointer diff --git a/doc/upgrade.html b/doc/upgrade.html index 569c3c16..f2f22afa 100644 --- a/doc/upgrade.html +++ b/doc/upgrade.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Upgrading 1.x code</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Upgrading 1.x code</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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>Incompatible changes:</p><p>Version 2 of libxml2 is the first version introducing serious backward +</style><title>Upgrading 1.x code</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Upgrading 1.x code</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Incompatible changes:</p><p>Version 2 of libxml2 is the first version introducing serious backward incompatible changes. The main goals were:</p><ul> <li>a general cleanup. A number of mistakes inherited from the very early versions couldn't be changed due to compatibility constraints. Example @@ -101,7 +101,7 @@ following:</p><ol> <li>remove your config.cache, relaunch your configuration mechanism, and recompile, if steps 2 and 3 were done right it should compile as-is</li> <li>Test that your application is still running correctly, if not this may - be due to extra empty nodes due to formating spaces being kept in libxml2 + be due to extra empty nodes due to formatting spaces being kept in libxml2 contrary to libxml1, in that case insert xmlKeepBlanksDefault(1) in your code before calling the parser (next to <strong>LIBXML_TEST_VERSION</strong> is a fine place).</li> diff --git a/doc/xml.html b/doc/xml.html index 53388a25..0a16f2c9 100644 --- a/doc/xml.html +++ b/doc/xml.html @@ -526,7 +526,7 @@ xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */ <p>Well, bugs or missing features are always possible, and I will make a point of fixing them in a timely fashion. The best way to report a bug is to -use the <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Gnome +use the <a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Gnome bug tracking database</a> (make sure to use the "libxml2" module name). I look at reports there regularly and it's good to have a reminder when a bug is still open. Be sure to specify that the bug is for the package libxml2.</p> @@ -569,7 +569,7 @@ posting</span></strong>:</p> <li>Check the <a href="http://mail.gnome.org/archives/xml/">list archives</a> to see if the problem was reported already. In this case there is probably a fix available, similarly check the <a - href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">registered + href="https://gitlab.gnome.org/GNOME/libxml2/issues">registered open bugs</a>.</li> <li>Make sure you can reproduce the bug with xmllint or one of the test programs found in source in the distribution.</li> @@ -586,7 +586,7 @@ answer a given question, ask on the list.</p> <p>To <span style="color: #E50000">be really clear about support</span>:</p> <ul> <li>Support or help <span style="color: #E50000">requests MUST be sent to - the list or on bugzilla</span> in case of problems, so that the Question + the list or the bug tracker</span> in case of problems, so that the Question and Answers can be shared publicly. Failing to do so carries the implicit message "I want free support but I don't want to share the benefits with others" and is not welcome. I will automatically Carbon-Copy the @@ -617,7 +617,7 @@ it's a good starting point.</p> <p>You can help the project in various ways, the best thing to do first is to subscribe to the mailing-list as explained before, check the <a href="http://mail.gnome.org/archives/xml/">archives </a>and the <a -href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Gnome bug +href="https://gitlab.gnome.org/GNOME/libxml2/issues">Gnome bug database</a>:</p> <ol> <li>Provide patches when you find problems.</li> @@ -694,21 +694,161 @@ href="python.html">bindings section</a></p> <p>Libxml2 is also available from GIT:</p> <ul> - <li><p>See <a href="http://git.gnome.org/browse/libxml2/">libxml2 Git web</a>. + <li><p>See <a href="https://gitlab.gnome.org/GNOME/libxml2">libxml2 Git web</a>. To checkout a local tree use:</p> - <pre>git clone git://git.gnome.org/libxml2</pre> + <pre>git clone https://gitlab.gnome.org/GNOME/libxml2.git</pre> </li> <li>The <strong>libxslt</strong> module is also present - <a href="http://git.gnome.org/browse/libxslt/">there</a>.</li> + <a href="https://gitlab.gnome.org/GNOME/libxslt">there</a>.</li> </ul> <h2><a name="News">Releases</a></h2> <p>The <a href="ChangeLog.html">change log</a> describes the recents commits -to the <a href="http://git.gnome.org/browse/libxml2/">GIT</a> code base.</p> +to the <a href="https://gitlab.gnome.org/GNOME/libxml2">GIT</a> code base.</p> <p>Here is the list of public releases:</p> +<h3>v2.9.10: Oct 30 2019</h3> +<ul> + <li>Documentation:<br/> + Fix a few more typos ("fonction") (Nick Wellnhofer),<br/> + Large batch of typo fixes (Jared Yanovich),<br/> + Fix typos: tree: move{ -> s}, reconcil{i -> }ed, h{o -> e}ld by... (Jan Pokorný),<br/> + Fix typo: xpath: simpli{ -> fi}ed (Jan Pokorný),<br/> + Doc: do not mislead towards "infeasible" scenario wrt. xmlBufNodeDump (Jan Pokorný),<br/> + Fix comments in test code (zhouzhongyuan),<br/> + fix comment in testReader.c (zhouzhongyuan)<br/> + </li> + + <li>Portability:<br/> + Fix some release issues on Fedora 30 (Daniel Veillard),<br/> + Fix exponent digits when running tests under old MSVC (Daniel Richard G),<br/> + Work around buggy ceil() function on AIX (Daniel Richard G),<br/> + Don't call printf with NULL string in runtest.c (Daniel Richard G),<br/> + Switched from unsigned long to ptrdiff_t in parser.c (Stephen Chenney),<br/> + timsort.h: support older GCCs (Jérôme Duval),<br/> + Make configure.ac work with older pkg-config (Nick Wellnhofer),<br/> + Stop defining _REENTRANT on some Win32 platforms (Nick Wellnhofer),<br/> + Fix nanohttp.c on MinGW (Nick Wellnhofer),<br/> + Fix Windows compiler warning in testC14N.c (Nick Wellnhofer),<br/> + Merge testThreadsWin32.c into testThreads.c (Nick Wellnhofer),<br/> + Fix Python bindings under Windows (Nick Wellnhofer)<br/> + </li> + + <li>Bug Fixes:<br/> + Another fix for conditional sections at end of document (Nick Wellnhofer),<br/> + Fix for conditional sections at end of document (Nick Wellnhofer),<br/> + Make sure that Python tests exit with error code (Nick Wellnhofer),<br/> + Audit memory error handling in xpath.c (Nick Wellnhofer),<br/> + Fix error code in xmlTextWriterStartDocument (Nick Wellnhofer),<br/> + Fix integer overflow when counting written bytes (Nick Wellnhofer),<br/> + Fix uninitialized memory access in HTML parser (Nick Wellnhofer),<br/> + Fix memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),<br/> + Disallow conditional sections in internal subset (Nick Wellnhofer),<br/> + Fix use-after-free in xmlTextReaderFreeNodeList (Nick Wellnhofer),<br/> + Fix Regextests (Nick Wellnhofer),<br/> + Fix empty branch in regex (Nick Wellnhofer),<br/> + Fix integer overflow in entity recursion check (Nick Wellnhofer),<br/> + Don't read external entities or XIncludes from stdin (Nick Wellnhofer),<br/> + Fix Schema determinism check of ##other namespaces (Nick Wellnhofer),<br/> + Fix potential null deref in xmlSchemaIDCFillNodeTables (zhouzhongyuan),<br/> + Fix potential memory leak in xmlBufBackToBuffer (Nick Wellnhofer),<br/> + Fix error message when processing XIncludes with fallbacks (Nick Wellnhofer),<br/> + Fix memory leak in xmlRegEpxFromParse (zhouzhongyuan),<br/> + 14:00 is a valid timezone for xs:dateTime (Nick Wellnhofer),<br/> + Fix memory leak in xmlParseBalancedChunkMemoryRecover (Zhipeng Xie),<br/> + Fix potential null deref in xmlRelaxNGParsePatterns (Nick Wellnhofer),<br/> + Misleading error message with xs:{min|max}Inclusive (bettermanzzy),<br/> + Fix memory leak in xmlXIncludeLoadTxt (Wang Kirin),<br/> + Partial fix for comparison of xs:durations (Nick Wellnhofer),<br/> + Fix null deref in xmlreader buffer (zhouzhongyuan),<br/> + Fix unability to RelaxNG-validate grammar with choice-based name class (Jan Pokorný),<br/> + Fix unability to validate ambiguously constructed interleave for RelaxNG (Jan Pokorný),<br/> + Fix possible null dereference in xmlXPathIdFunction (zhouzhongyuan),<br/> + fix memory leak in xmlAllocOutputBuffer (zhouzhongyuan),<br/> + Fix unsigned int overflow (Jens Eggerstedt),<br/> + dict.h: gcc 2.95 doesn't allow multiple storage classes (Nick Wellnhofer),<br/> + Fix another code path in xmlParseQName (Nick Wellnhofer),<br/> + Make sure that xmlParseQName returns NULL in error case (Nick Wellnhofer),<br/> + Fix build without reader but with pattern (Nick Wellnhofer),<br/> + Fix memory leak in xmlAllocOutputBufferInternal error path (Nick Wellnhofer),<br/> + Fix unsigned integer overflow (Nick Wellnhofer),<br/> + Fix return value of xmlOutputBufferWrite (Nick Wellnhofer),<br/> + Fix parser termination from "Double hyphen within comment" error (David Warring),<br/> + Fix call stack overflow in xmlFreePattern (Nick Wellnhofer),<br/> + Fix null deref in previous commit (Nick Wellnhofer),<br/> + Fix memory leaks in xmlXPathParseNameComplex error paths (Nick Wellnhofer),<br/> + Check for integer overflow in xmlXPtrEvalChildSeq (Nick Wellnhofer),<br/> + Fix xmllint dump of XPath namespace nodes (Nick Wellnhofer),<br/> + Fix float casts in xmlXPathSubstringFunction (Nick Wellnhofer),<br/> + Fix null deref in xmlregexp error path (Nick Wellnhofer),<br/> + Fix null pointer dereference in xmlTextReaderReadOuterXml (Nick Wellnhofer),<br/> + Fix memory leaks in xmlParseStartTag2 error paths (Nick Wellnhofer),<br/> + Fix memory leak in xmlSAX2StartElement (Nick Wellnhofer),<br/> + Fix commit "Memory leak in xmlFreeID (xmlreader.c)" (Nick Wellnhofer),<br/> + Fix NULL pointer deref in xmlTextReaderValidateEntity (Nick Wellnhofer),<br/> + Memory leak in xmlFreeTextReader (Nick Wellnhofer),<br/> + Memory leak in xmlFreeID (xmlreader.c) (Nick Wellnhofer)<br/> + </li> + + <li>Improvements:<br/> + Run XML conformance tests under CI (Nick Wellnhofer),<br/> + Update GitLab CI config (Nick Wellnhofer),<br/> + Propagate memory errors in valuePush (Nick Wellnhofer),<br/> + Propagate memory errors in xmlXPathCompExprAdd (Nick Wellnhofer),<br/> + Make xmlFreeDocElementContent non-recursive (Nick Wellnhofer),<br/> + Enable continuous integration via GitLab CI (Nick Wellnhofer),<br/> + Avoid ignored attribute warnings under GCC (Nick Wellnhofer),<br/> + Make xmlDumpElementContent non-recursive (Nick Wellnhofer),<br/> + Make apibuild.py ignore ATTRIBUTE_NO_SANITIZE (Nick Wellnhofer),<br/> + Mark xmlExp* symbols as removed (Nick Wellnhofer),<br/> + Make xmlParseConditionalSections non-recursive (Nick Wellnhofer),<br/> + Adjust expected error in Python tests (Nick Wellnhofer),<br/> + Make xmlTextReaderFreeNodeList non-recursive (Nick Wellnhofer),<br/> + Make xmlFreeNodeList non-recursive (Nick Wellnhofer),<br/> + Make xmlParseContent and xmlParseElement non-recursive (Nick Wellnhofer),<br/> + Remove executable bit from non-executable files (Nick Wellnhofer),<br/> + Fix expected output of test/schemas/any4 (Nick Wellnhofer),<br/> + Optimize build instructions in README (zhouzhongyuan),<br/> + xml2-config.in: Output CFLAGS and LIBS on the same line (Hugh McMaster),<br/> + xml2-config: Add a --dynamic switch to print only shared libraries (Hugh McMaster),<br/> + Annotate functions with __attribute__((no_sanitize)) (Nick Wellnhofer),<br/> + Fix warnings when compiling without reader or push parser (Nick Wellnhofer),<br/> + Remove unused member `doc` in xmlSaveCtxt (Nick Wellnhofer),<br/> + Limit recursion depth in xmlXPathCompOpEvalPredicate (Nick Wellnhofer),<br/> + Remove -Wno-array-bounds (Nick Wellnhofer),<br/> + Remove unreachable code in xmlXPathCountFunction (Nick Wellnhofer),<br/> + Improve XPath predicate and filter evaluation (Nick Wellnhofer),<br/> + Limit recursion depth in xmlXPathOptimizeExpression (Nick Wellnhofer),<br/> + Disable hash randomization when fuzzing (Nick Wellnhofer),<br/> + Optional recursion limit when parsing XPath expressions (Nick Wellnhofer),<br/> + Optional recursion limit when evaluating XPath expressions (Nick Wellnhofer),<br/> + Use break statements in xmlXPathCompOpEval (Nick Wellnhofer),<br/> + Optional XPath operation limit (Nick Wellnhofer),<br/> + Fix compilation with --with-minimum (Nick Wellnhofer),<br/> + Check XPath stack after calling functions (Nick Wellnhofer),<br/> + Remove debug printf in xmlreader.c (Nick Wellnhofer),<br/> + Always define LIBXML_THREAD_ENABLED when enabled (Michael Haubenwallner),<br/> + Regenerate NEWS (Nick Wellnhofer),<br/> + Change git repo URL (Nick Wellnhofer),<br/> + Change bug tracker URL (Nick Wellnhofer),<br/> + Remove outdated HTML file (Nick Wellnhofer),<br/> + Fix unused function warning in testapi.c (Nick Wellnhofer),<br/> + Add some generated test files to .gitignore (Nick Wellnhofer),<br/> + Remove unneeded function pointer casts (Nick Wellnhofer),<br/> + Fix -Wcast-function-type warnings (GCC 8) (Nick Wellnhofer),<br/> + Fix -Wformat-truncation warnings (GCC 8) (Nick Wellnhofer)<br/> + </li> + + <li>Cleanups:<br/> + Rebuild docs (Nick Wellnhofer),<br/> + Disable xmlExp regex code (Nick Wellnhofer),<br/> + Remove redundant code in xmlRelaxNGValidateState (Nick Wellnhofer),<br/> + Remove redundant code in xmlXPathCompRelationalExpr (Nick Wellnhofer)<br/> + </li> +</ul> + <h3>v2.9.9: Jan 03 2019</h3> <ul> <li>Security:<br/> @@ -827,7 +967,7 @@ to the <a href="http://git.gnome.org/browse/libxml2/">GIT</a> code base.</p> <h3>2.9.7: Nov 02 2017</h3> <ul> <li>Documentation:<br/> - xmlcatalog: refresh man page wrt. quering system catalog easily (Jan Pokorný)<br/> + xmlcatalog: refresh man page wrt. querying system catalog easily (Jan Pokorný)<br/> </li> <li>Portability:<br/> @@ -1166,7 +1306,7 @@ to the <a href="http://git.gnome.org/browse/libxml2/">GIT</a> code base.</p> <li>Improvements:<br/> Reuse xmlHaltParser() where it makes sense (Daniel Veillard),<br/> xmlStopParser reset errNo (Daniel Veillard),<br/> - Reenable xz support by default (Daniel Veillard),<br/> + Re-enable xz support by default (Daniel Veillard),<br/> Recover unescaped less-than character in HTML recovery parsing (Daniel Veillard),<br/> Allow HTML serializer to output HTML5 DOCTYPE (Shaun McCance),<br/> Regression test for bug #695699 (Nick Wellnhofer),<br/> @@ -1555,7 +1695,7 @@ Gansterer),<br/> Harden the buffer code and make it more compatible (Daniel Veillard),<br/> More cleanups for input/buffers code (Daniel Veillard),<br/> Cleanup function xmlBufResetInput(),<br/> to set input from Buffer (Daniel Veillard) - Swicth the test program for characters to new input buffers (Daniel Veillard),<br/> + Switch the test program for characters to new input buffers (Daniel Veillard),<br/> Convert the HTML tree module to the new buffers (Daniel Veillard),<br/> Convert of the HTML parser to new input buffers (Daniel Veillard),<br/> Convert the writer to new output buffer and save APIs (Daniel Veillard),<br/> @@ -1654,7 +1794,7 @@ Gansterer),<br/> Avoid memory leak if xmlParserInputBufferCreateIO fails (Lin Yi-Li), Prevent an infinite loop when dumping a node with encoding problems (Timothy Elliott), xmlParseNodeInContext problems with an empty document (Tim Elliott), - HTML element position is not detected propperly (Pavel Andrejs), + HTML element position is not detected properly (Pavel Andrejs), Fix an off by one pointer access (Jüri Aedla), Try to fix a problem with entities in SAX mode (Daniel Veillard), Fix a crash with xmllint --path on empty results (Daniel Veillard), @@ -1682,7 +1822,7 @@ Gansterer),<br/> Small fix for previous commit (Daniel Veillard), Fix a potential freeing error in XPath (Daniel Veillard), Fix a potential memory access error (Daniel Veillard), - Reactivate the shared library versionning script (Daniel Veillard) + Reactivate the shared library versioning script (Daniel Veillard) </li> <li>Improvements: @@ -1871,7 +2011,7 @@ Gansterer),<br/> Problem with extern extern in header (Daniel Veillard), Add -lnetwork for compiling on Haiku (Scott McCreary), Runtest portability patch for Solaris (Tim Rice), - Small patch to accomodate the Haiku OS (Scott McCreary), + Small patch to accommodate the Haiku OS (Scott McCreary), 584605 package VxWorks folder in the distribution (Daniel Veillard), 574017 Realloc too expensive on most platform (Daniel Veillard), Fix windows build (Rob Richards), @@ -1901,7 +2041,7 @@ Gansterer),<br/> 558452 RNG compilation of optional multiple child (Daniel Veillard), 579746 XSD validation not correct / nilable groups (Daniel Veillard), 502960 provide namespace stack when parsing entity (Daniel Veillard), - 566012 part 2 fix regresion tests and push mode (Daniel Veillard), + 566012 part 2 fix regression tests and push mode (Daniel Veillard), 566012 autodetected encoding and encoding conflict (Daniel Veillard), 584220 xpointer(/) and xinclude problems (Daniel Veillard), 587663 Incorrect Attribute-Value Normalization (Daniel Veillard), @@ -2029,14 +2169,14 @@ Gansterer),<br/> parsing and validation fixes based on the W3C regression tests, reader tree skipping function fix (Ashwin), Schemas regexps escaping fix (Volker Grabsch), handling of entity push errors (Ashwin), fix a slowdown - when encoder cant serialize characters on output</li> + when encoder can't serialize characters on output</li> <li>Code cleanup: compilation fix without the reader, without the output (Robert Schwebel), python whitespace (Martin), many space/tabs cleanups, serious cleanup of the entity handling code</li> <li>Improvement: switch parser to XML-1.0 5th edition, add parsing flags for old versions, switch URI parsing to RFC 3986, add xmlSchemaValidCtxtGetParserCtxt (Holger Kaelberer), - new hashing functions for 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 @@ -2095,7 +2235,7 @@ Gansterer),<br/> </li> <li>Code cleanup: fix open() call third argument, regexp cut'n paste copy error, unused variable in __xmlGlobalInitMutexLock (Hannes Eder), - some make distcheck realted fixes (John Carr)</li> + some make distcheck related fixes (John Carr)</li> <li>Improvements: HTTP Header: includes port number (William Brack), testURI --debug option, </li> </ul> @@ -2148,7 +2288,7 @@ Gansterer),<br/> on Windows (Igor Zlatkovic), htmlCtxtReset fix (Michael Day), XPath principal node of axis bug, HTML serialization of some codepoint (Steven Rainwater), user data propagation in XInclude (Michael Day), - standalone and XML decl detection (Michael Day), Python id ouptut + standalone and XML decl detection (Michael Day), Python id output for some id, fix the big python string memory leak, URI parsing fixes (Stéphane Bidoul and William), long comments parsing bug (William), concurrent threads initialization (Ted Phelps), invalid char @@ -2160,7 +2300,7 @@ Gansterer),<br/> min occurs of 0 (William), HTML script/style parsing (Mike Day)</li> <li>Improvement: make xmlTextReaderSetup() public</li> <li>Compilation and postability: fix a missing include problem (William), - __ss_familly on AIX again (Björn Wiberg), compilation without zlib + __ss_family on AIX again (Björn Wiberg), compilation without zlib (Michael Day), catalog patch for Win32 (Christian Ehrlicher), Windows CE fixes (Andreas Stricke)</li> <li>Various CVS to SVN infrastructure changes</li> @@ -2191,15 +2331,15 @@ Gansterer),<br/> <li>bug fix: xmlGetNodePath fix (Kasimier), xmlDOMWrapAdoptNode and attribute (Kasimier), crash when using the recover mode, xmlXPathEvalExpr problem (Kasimier), xmlXPathCompExprAdd bug (Kasimier), - missing destry in xmlFreeRMutex (Andrew Nosenko), XML Schemas fixes + missing destroy in xmlFreeRMutex (Andrew Nosenko), XML Schemas fixes (Kasimier), warning on entities processing, XHTML script and style serialization (Kasimier), python generator for long types, bug in xmlSchemaClearValidCtxt (Bertrand Fritsch), xmlSchemaXPathEvaluate allocation bug (Marton Illes), error message end of line (Rob Richards), fix attribute serialization in writer (Rob Richards), PHP4 DTD validation - crasher, parser safety patch (Ben Darnell), _private context propagation + crash, parser safety patch (Ben Darnell), _private context propagation when parsing entities (with Michael Day), fix entities behaviour when - using SAX, URI to file path fix (Mikhail Zabaluev), disapearing validity + using SAX, URI to file path fix (Mikhail Zabaluev), disappearing validity context, arg error in SAX callback (Mike Hommey), fix mixed-content autodetect when using --noblanks, fix xmlIOParseDTD error handling, fix bug in xmlSplitQName on special Names, fix Relax-NG element content @@ -2287,7 +2427,7 @@ Gansterer),<br/> split problem (William), issues with non-namespaced attributes in xmlAddChild() xmlAddNextSibling() and xmlAddPrevSibling() (Rob Richards), HTML parsing of script, Python must not output to stdout (Nic Ferrier), - exclusive C14N namespace visibility (Aleksey Sanin), XSD dataype + exclusive C14N namespace visibility (Aleksey Sanin), XSD datatype totalDigits bug (Kasimier Buchcik), error handling when writing to an xmlBuffer (Rob Richards), runtest schemas error not reported (Hisashi Fujinaka), signed/unsigned problem in date/time code (Albert Chin), fix @@ -2296,7 +2436,7 @@ Gansterer),<br/> (Gary Coady), regexp bug affecting schemas (Kasimier), configuration of runtime debugging (Kasimier), xmlNodeBufGetContent bug on entity refs (Oleksandr Kononenko), xmlRegExecPushString2 bug (Sreeni Nair), - compilation and build fixes (Michael Day), removed dependancies on + compilation and build fixes (Michael Day), removed dependencies on xmlSchemaValidError (Kasimier), bug with <xml:foo/>, more XPath pattern based evaluation fixes (Kasimier)</li> <li>improvements: XSD Schemas redefinitions/restrictions (Kasimier @@ -2343,8 +2483,8 @@ Gansterer),<br/> foreign namespaces handling, XML Schemas facet comparison (Kupriyanov Anatolij), xmlSchemaPSimpleTypeErr error report (Kasimier Buchcik), xml: namespace ahndling in Schemas (Kasimier), empty model group in Schemas - (Kasimier), wilcard in Schemas (Kasimier), URI composition (William), - xs:anyType in Schemas (Kasimier), Python resolver emmitting error + (Kasimier), wildcard in Schemas (Kasimier), URI composition (William), + xs:anyType in Schemas (Kasimier), Python resolver emitting error messages directly, Python xmlAttr.parent (Jakub Piotr Clapa), trying to fix the file path/URI conversion, xmlTextReaderGetAttribute fix (Rob Richards), xmlSchemaFreeAnnot memleak (Kasimier), HTML UTF-8 @@ -2371,7 +2511,7 @@ Gansterer),<br/> <li>build fixes: Windows build (Rob Richards), Mingw compilation (Igor Zlatkovic), Windows Makefile (Igor), gcc warnings (Kasimier and andriy@google.com), use gcc weak references to pthread to avoid the - pthread dependancy on Linux, compilation problem (Steve Nairn), compiling + pthread dependency on Linux, compilation problem (Steve Nairn), compiling of subset (Morten Welinder), IPv6/ss_family compilation (William Brack), compilation when disabling parts of the library, standalone test distribution.</li> @@ -2413,7 +2553,7 @@ Gansterer),<br/> Linux/ELF/gcc4</li> <li>bug fixes: schemas type decimal fixups (William Brack), xmmlint return code (Gerry Murphy), small schemas fixes (Matthew Burgess and GUY - Fabrice), workaround "DAV:" namespace brokeness in c14n (Aleksey Sanin), + Fabrice), workaround "DAV:" namespace brokenness in c14n (Aleksey Sanin), segfault in Schemas (Kasimier Buchcik), Schemas attribute validation (Kasimier), Prop related functions and xmlNewNodeEatName (Rob Richards), HTML serialization of name attribute on a elements, Python error handlers @@ -2433,7 +2573,7 @@ Gansterer),<br/> Bakefile support (Francesco Montorsi), Windows compilation (Joel Reed), some gcc4 fixes, HP-UX portability fixes (Rick Jones).</li> <li>bug fixes: xmlSchemaElementDump namespace (Kasimier Buchcik), push and - xmlreader stopping on non-fatal errors, thread support for 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 @@ -2490,7 +2630,7 @@ Gansterer),<br/> <li>bug fixes: problem with XML::Libxml reported by Petr Pajas, encoding conversion functions return values, UTF-8 bug affecting XPath reported by Markus Bertheau, catalog problem with NULL entries (William Brack)</li> - <li>documentation: fix to xmllint man page, some API function descritpion + <li>documentation: fix to xmllint man page, some API function description were updated.</li> <li>improvements: DTD validation APIs provided at the Python level (Brent Hendricks)</li> @@ -2524,7 +2664,7 @@ Gansterer),<br/> Buchcik), XInclude testing, Notation serialization, UTF8ToISO8859x transcoding (Mark Itzcovitz), lots of XML Schemas cleanup and fixes (Kasimier), ChangeLog cleanup (Stepan Kasal), memory fixes (Mark Vakoc), - handling of failed realloc(), out of bound array adressing in Schemas + handling of failed realloc(), out of bound array addressing in Schemas date handling, Python space/tabs cleanups (Malcolm Tredinnick), NMTOKENS E20 validation fix (Malcolm),</li> <li>improvements: added W3C XML Schemas testsuite (Kasimier Buchcik), add @@ -2542,7 +2682,7 @@ Gansterer),<br/> (Kasimier Buchcik), Schemas validation crash, xmlCheckUTF8 (William Brack and Julius Mittenzwei), Schemas facet check (Kasimier), default namespace problem (William), Schemas hexbinary empty values, encoding error could - genrate a serialization loop.</li> + generate a serialization loop.</li> <li>Improvements: Schemas validity improvements (Kasimier), added --path and --load-trace options to xmllint</li> <li>documentation: tutorial update (John Fleck)</li> @@ -2637,12 +2777,12 @@ Gansterer),<br/> William), xmlUriEscape (Mark Vakoc), a Relax-NG notAllowed problem (with William), Relax-NG name classes compares (William), XInclude duplicate fallback (William), external DTD encoding detection (William), a DTD - validation bug (William), xmlReader Close() fix, recusive extention + validation bug (William), xmlReader Close() fix, recursive extension schemas</li> <li>improvements: use xmlRead* APIs in test tools (Mark Vakoc), indenting save optimization, better handle IIS broken HTTP redirect behaviour (Ian Hummel), HTML parser frameset (James Bursa), libxml2-python RPM - dependancy, XML Schemas union support (Kasimier Buchcik), warning removal + dependency, XML Schemas union support (Kasimier Buchcik), warning removal clanup (William), keep ChangeLog compressed when installing from RPMs</li> <li>documentation: examples and xmlDocDumpMemory docs (John Fleck), new example (load, xpath, modify, save), xmlCatalogDump() comments,</li> @@ -2696,7 +2836,7 @@ Gansterer),<br/> William) reported by Yuuichi Teranishi</li> <li>bugfixes: make test and path issues, xmlWriter attribute serialization (William Brack), xmlWriter indentation (William), schemas validation - (Eric Haszlakiewicz), XInclude 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 @@ -2707,18 +2847,18 @@ Gansterer),<br/> --with-minimum configuration.</li> <li>XInclude: allow the 2001 namespace without warning.</li> <li>Documentation: missing example/index.html (John Fleck), version - dependancies (John Fleck)</li> + dependencies (John Fleck)</li> <li>reader API: structured error reporting (Steve Ball)</li> <li>Windows compilation: mingw, msys (Mikhail Grushinskiy), function prototype (Cameron Johnson), MSVC6 compiler warnings, _WINSOCKAPI_ patch</li> - <li>Parsers: added xmlByteConsumed(ctxt) API to get the byte offest in + <li>Parsers: added xmlByteConsumed(ctxt) API to get the byte offset in input.</li> </ul> <h3>2.6.5: Jan 25 2004</h3> <ul> - <li>Bugfixes: dictionnaries for schemas (William Brack), regexp segfault + <li>Bugfixes: dictionaries for schemas (William Brack), regexp segfault (William), xs:all problem (William), a number of XPointer bugfixes (William), xmllint error go to stderr, DTD validation problem with namespace, memory leak (William), SAX1 cleanup and minimal options fixes @@ -2847,7 +2987,7 @@ Gansterer),<br/> intercepted at a structured level, with precise information available.</li> <li>New simpler and more generic XML and HTML parser APIs, allowing to - easilly modify the parsing options and reuse parser context for multiple + easily modify the parsing options and reuse parser context for multiple consecutive documents.</li> <li>Similar new APIs for the xmlReader, for options and reuse, provided new functions to access content as const strings, use them for Python @@ -3750,7 +3890,7 @@ it's actually not compiled in by default. The real fixes are: also contains numerous fixes and enhancements: <ul> <li>added xmlStopParser() to stop parsing</li> - <li>improved a lot parsing speed when there is large CDATA blocs</li> + <li>improved a lot parsing speed when there is large CDATA blocks</li> <li>includes XPath patches provided by Picdar Technology</li> <li>tried to fix as much as possible DTD validation and namespace related problems</li> @@ -4049,7 +4189,7 @@ or libxslt wrappers or bindings:</p> <li><a href="http://savannah.gnu.org/projects/classpathx/">LibxmlJ</a> is an effort to create a 100% JAXP-compatible Java wrapper for libxml2 and libxslt as part of GNU ClasspathX project.</li> - <li>Patrick McPhee provides Rexx bindings fof libxml2 and libxslt, look for + <li>Patrick McPhee provides Rexx bindings for libxml2 and libxslt, look for <a href="http://www.interlog.com/~ptjm/software.html">RexxXML</a>.</li> <li><a href="http://www.satimage.fr/software/en/xml_suite.html">Satimage</a> @@ -4058,7 +4198,7 @@ or libxslt wrappers or bindings:</p> osax</a>. This is an osax for Mac OS X with a set of commands to implement in AppleScript the XML DOM, XPATH and XSLT. Also includes commands for Property-lists (Apple's fast lookup table XML format.)</li> - <li>Francesco Montorsi developped <a + <li>Francesco Montorsi developed <a href="https://sourceforge.net/project/showfiles.php?group_id=51305&package_id=45182">wxXml2</a> wrappers that interface libxml2, allowing wxWidgets applications to load/save/edit XML instances.</li> @@ -6159,7 +6299,7 @@ following:</p> <li>remove your config.cache, relaunch your configuration mechanism, and recompile, if steps 2 and 3 were done right it should compile as-is</li> <li>Test that your application is still running correctly, if not this may - be due to extra empty nodes due to formating spaces being kept in libxml2 + be due to extra empty nodes due to formatting spaces being kept in libxml2 contrary to libxml1, in that case insert xmlKeepBlanksDefault(1) in your code before calling the parser (next to <strong>LIBXML_TEST_VERSION</strong> is a fine place).</li> diff --git a/doc/xmldtd.html b/doc/xmldtd.html index 36333f02..b1557449 100644 --- a/doc/xmldtd.html +++ b/doc/xmldtd.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Validation & DTDs</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Validation & DTDs</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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>Table of Content:</p><ol> +</style><title>Validation & DTDs</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Validation & DTDs</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & 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="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol> <li><a href="#General5">General overview</a></li> <li><a href="#definition">The definition</a></li> <li><a href="#Simple">Simple rules</a> diff --git a/doc/xmlio.html b/doc/xmlio.html index 51bb6469..eb210a87 100644 --- a/doc/xmlio.html +++ b/doc/xmlio.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>I/O Interfaces</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>I/O Interfaces</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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>Table of Content:</p><ol> +</style><title>I/O Interfaces</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>I/O Interfaces</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol> <li><a href="#General1">General overview</a></li> <li><a href="#basic">The basic buffer type</a></li> <li><a href="#Input">Input I/O handlers</a></li> diff --git a/doc/xmlmem.html b/doc/xmlmem.html index ba9e517c..10befd76 100644 --- a/doc/xmlmem.html +++ b/doc/xmlmem.html @@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } -</style><title>Memory Management</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Memory Management</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="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>Table of Content:</p><ol> +</style><title>Memory Management</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Memory Management</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol> <li><a href="#General3">General overview</a></li> <li><a href="#setting">Setting libxml2 set of memory routines</a></li> <li><a href="#cleanup">Cleaning up after using the library</a></li> diff --git a/doc/xmlreader.html b/doc/xmlreader.html index 38608c12..6b4db47c 100644 --- a/doc/xmlreader.html +++ b/doc/xmlreader.html @@ -35,9 +35,9 @@ examples using both C and the Python bindings:</p> <ul> <li><a href="#Introducti">Introduction: why a new API</a></li> <li><a href="#Walking">Walking a simple tree</a></li> - <li><a href="#Extracting">Extracting informations for the current + <li><a href="#Extracting">Extracting information for the current node</a></li> - <li><a href="#Extracting1">Extracting informations for the + <li><a href="#Extracting1">Extracting information for the attributes</a></li> <li><a href="#Validating">Validating a document</a></li> <li><a href="#Entities">Entities substitution</a></li> @@ -52,7 +52,7 @@ examples using both C and the Python bindings:</p> <p>Libxml2 <a href="http://xmlsoft.org/html/libxml-tree.html">main API is tree based</a>, where the parsing operation results in a document loaded -completely in memory, and expose it as a tree of nodes all availble at the +completely in memory, and expose it as a tree of nodes all available at the same time. This is very simple and quite powerful, but has the major limitation that the size of the document that can be hamdled is limited by the size of the memory available. Libxml2 also provide a <a @@ -156,7 +156,7 @@ href="http://dotgnu.org/pnetlib-doc/System/Xml/XmlTextReader.html">xmlTextReader is abstracted as a class like in C#</a> with the same method names (but the properties are currently accessed with methods) and that one doesn't need to free the reader at the end of the processing. It will get garbage collected -once all references have disapeared.</p> +once all references have disappeared.</p> <h2><a name="Extracting">Extracting information for the current node</a></h2> @@ -299,7 +299,7 @@ their content the API has special instructions. Basically two kinds of operation are possible:</p> <ol> <li>to move the reader to the attribute nodes of the current element, in - that case the cursor is positionned on the attribute node</li> + that case the cursor is positioned on the attribute node</li> <li>to directly query the element node for the attribute value</li> </ol> @@ -383,7 +383,7 @@ and set the values of those parser properties of the reader. For example</p> <p>This routine will parse and validate the file. Error messages can be captured by registering an error handler. See python/tests/reader2.py for -more complete Python examples. At the C level the equivalent call to cativate +more complete Python examples. At the C level the equivalent call to ativate the validation feature is just:</p> <pre>ret = xmlTextReaderSetParserProp(reader, XML_PARSER_VALIDATE, 1)</pre> @@ -392,7 +392,7 @@ the validation feature is just:</p> <h2><a name="Entities">Entities substitution</a></h2> <p>By default the xmlReader will report entities as such and not replace them -with their content. This default behaviour can however be overriden using:</p> +with their content. This default behaviour can however be overridden using:</p> <p><code>reader.SetParserProp(libxml2.PARSER_SUBST_ENTITIES,1)</code></p> @@ -404,7 +404,7 @@ with their content. This default behaviour can however be overriden using:</p> Relax-NG schemas. While the Relax NG validator can't always work in a streamable mode, only subsets which cannot be reduced to regular expressions need to have their subtree expanded for validation. In practice it means -that, unless the schemas for the top level element content is not expressable +that, unless the schemas for the top level element content is not expressible as a regexp, only chunk of the document needs to be parsed while validating.</p> diff --git a/elfgcchack.h b/elfgcchack.h index 5ac93bfb..af8ad114 100644 --- a/elfgcchack.h +++ b/elfgcchack.h @@ -4312,6 +4312,16 @@ extern __typeof (xmlHashCreateDict) xmlHashCreateDict__internal_alias __attribut #endif #ifdef bottom_hash +#undef xmlHashDefaultDeallocator +extern __typeof (xmlHashDefaultDeallocator) xmlHashDefaultDeallocator __attribute((alias("xmlHashDefaultDeallocator__internal_alias"))); +#else +#ifndef xmlHashDefaultDeallocator +extern __typeof (xmlHashDefaultDeallocator) xmlHashDefaultDeallocator__internal_alias __attribute((visibility("hidden"))); +#define xmlHashDefaultDeallocator xmlHashDefaultDeallocator__internal_alias +#endif +#endif + +#ifdef bottom_hash #undef xmlHashFree extern __typeof (xmlHashFree) xmlHashFree __attribute((alias("xmlHashFree__internal_alias"))); #else @@ -1,7 +1,7 @@ /* * Summary: Internal Interfaces for encoding in libxml2 * Description: this module describes a few interfaces which were - * addded along with the API changes in 2.9.0 + * added along with the API changes in 2.9.0 * those are private routines at this point * * Copy: See Copyright for the status of this software. @@ -76,7 +76,7 @@ static int xmlLittleEndian = 1; /** * xmlEncodingErrMemory: - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -170,7 +170,7 @@ closeIcuConverter(uconv_t *conv) * Returns 0 if success, or -1 otherwise * The value of @inlen after return is the number of octets consumed * if the return value is positive, else unpredictable. - * The value of @outlen after return is the number of octets consumed. + * The value of @outlen after return is the number of octets produced. */ static int asciiToUTF8(unsigned char* out, int *outlen, @@ -217,7 +217,7 @@ asciiToUTF8(unsigned char* out, int *outlen, * Returns 0 if success, -2 if the transcoding fails, or -1 otherwise * The value of @inlen after return is the number of octets consumed * if the return value is positive, else unpredictable. - * The value of @outlen after return is the number of octets consumed. + * The value of @outlen after return is the number of octets produced. */ static int UTF8Toascii(unsigned char* out, int *outlen, @@ -301,7 +301,7 @@ UTF8Toascii(unsigned char* out, int *outlen, * Returns the number of bytes written if success, or -1 otherwise * The value of @inlen after return is the number of octets consumed * if the return value is positive, else unpredictable. - * The value of @outlen after return is the number of octets consumed. + * The value of @outlen after return is the number of octets produced. */ int isolat1ToUTF8(unsigned char* out, int *outlen, @@ -396,7 +396,7 @@ UTF8ToUTF8(unsigned char* out, int *outlen, or -1 otherwise * The value of @inlen after return is the number of octets consumed * if the return value is positive, else unpredictable. - * The value of @outlen after return is the number of octets consumed. + * The value of @outlen after return is the number of octets produced. */ int UTF8Toisolat1(unsigned char* out, int *outlen, @@ -496,13 +496,18 @@ UTF16LEToUTF8(unsigned char* out, int *outlen, { unsigned char* outstart = out; const unsigned char* processed = inb; - unsigned char* outend = out + *outlen; + unsigned char* outend; unsigned short* in = (unsigned short*) inb; unsigned short* inend; unsigned int c, d, inlen; unsigned char *tmp; int bits; + if (*outlen == 0) { + *inlenb = 0; + return(0); + } + outend = out + *outlen; if ((*inlenb % 2) == 1) (*inlenb)--; inlen = *inlenb / 2; @@ -1784,7 +1789,7 @@ xmlFindCharEncodingHandler(const char *name) { * @cd: iconv converter data structure * @out: a pointer to an array of bytes to store the result * @outlen: the length of @out - * @in: a pointer to an array of ISO Latin 1 chars + * @in: a pointer to an array of input bytes * @inlen: the length of @in * * Returns 0 if success, or @@ -1795,7 +1800,7 @@ xmlFindCharEncodingHandler(const char *name) { * * The value of @inlen after return is the number of octets consumed * as the return value is positive, else unpredictable. - * The value of @outlen after return is the number of ocetes consumed. + * The value of @outlen after return is the number of octets produced. */ static int xmlIconvWrapper(iconv_t cd, unsigned char *out, int *outlen, @@ -1851,7 +1856,7 @@ xmlIconvWrapper(iconv_t cd, unsigned char *out, int *outlen, * @toUnicode : non-zero if toUnicode. 0 otherwise. * @out: a pointer to an array of bytes to store the result * @outlen: the length of @out - * @in: a pointer to an array of ISO Latin 1 chars + * @in: a pointer to an array of input bytes * @inlen: the length of @in * @flush: if true, indicates end of input * @@ -1863,7 +1868,7 @@ xmlIconvWrapper(iconv_t cd, unsigned char *out, int *outlen, * * The value of @inlen after return is the number of octets consumed * as the return value is positive, else unpredictable. - * The value of @outlen after return is the number of ocetes consumed. + * The value of @outlen after return is the number of octets produced. */ static int xmlUconvWrapper(uconv_t *cd, int toUnicode, unsigned char *out, int *outlen, @@ -1912,6 +1917,25 @@ xmlUconvWrapper(uconv_t *cd, int toUnicode, unsigned char *out, int *outlen, * * ************************************************************************/ +/** + * xmlEncInputChunk: + * @handler: encoding handler + * @out: a pointer to an array of bytes to store the result + * @outlen: the length of @out + * @in: a pointer to an array of input bytes + * @inlen: the length of @in + * @flush: flush (ICU-related) + * + * Returns 0 if success, or + * -1 by lack of space, or + * -2 if the transcoding fails (for *in is not valid utf8 string or + * the result of transformation can't fit into the encoding we want), or + * -3 if there the last byte can't form a single output char. + * + * The value of @inlen after return is the number of octets consumed + * as the return value is 0, else unpredictable. + * The value of @outlen after return is the number of octets produced. + */ static int xmlEncInputChunk(xmlCharEncodingHandler *handler, unsigned char *out, int *outlen, const unsigned char *in, int *inlen, int flush) { @@ -1920,6 +1944,8 @@ xmlEncInputChunk(xmlCharEncodingHandler *handler, unsigned char *out, if (handler->input != NULL) { ret = handler->input(out, outlen, in, inlen); + if (ret > 0) + ret = 0; } #ifdef LIBXML_ICONV_ENABLED else if (handler->iconv_in != NULL) { @@ -1941,7 +1967,25 @@ xmlEncInputChunk(xmlCharEncodingHandler *handler, unsigned char *out, return(ret); } -/* Returns -4 if no output function was found. */ +/** + * xmlEncOutputChunk: + * @handler: encoding handler + * @out: a pointer to an array of bytes to store the result + * @outlen: the length of @out + * @in: a pointer to an array of input bytes + * @inlen: the length of @in + * + * Returns 0 if success, or + * -1 by lack of space, or + * -2 if the transcoding fails (for *in is not valid utf8 string or + * the result of transformation can't fit into the encoding we want), or + * -3 if there the last byte can't form a single output char. + * -4 if no output function was found. + * + * The value of @inlen after return is the number of octets consumed + * as the return value is 0, else unpredictable. + * The value of @outlen after return is the number of octets produced. + */ static int xmlEncOutputChunk(xmlCharEncodingHandler *handler, unsigned char *out, int *outlen, const unsigned char *in, int *inlen) { @@ -1949,6 +1993,8 @@ xmlEncOutputChunk(xmlCharEncodingHandler *handler, unsigned char *out, if (handler->output != NULL) { ret = handler->output(out, outlen, in, inlen); + if (ret > 0) + ret = 0; } #ifdef LIBXML_ICONV_ENABLED else if (handler->iconv_out != NULL) { @@ -1972,7 +2018,7 @@ xmlEncOutputChunk(xmlCharEncodingHandler *handler, unsigned char *out, /** * xmlCharEncFirstLineInt: - * @handler: char enconding transformation data structure + * @handler: char encoding transformation data structure * @out: an xmlBuffer for the output. * @in: an xmlBuffer for the input * @len: number of bytes to convert for the first line, or -1 @@ -2054,12 +2100,12 @@ xmlCharEncFirstLineInt(xmlCharEncodingHandler *handler, xmlBufferPtr out, */ if (ret == -3) ret = 0; if (ret == -1) ret = 0; - return(ret); + return(written ? written : ret); } /** * xmlCharEncFirstLine: - * @handler: char enconding transformation data structure + * @handler: char encoding transformation data structure * @out: an xmlBuffer for the output. * @in: an xmlBuffer for the input * @@ -2184,7 +2230,7 @@ xmlCharEncFirstLineInput(xmlParserInputBufferPtr input, int len) */ if (ret == -3) ret = 0; if (ret == -1) ret = 0; - return(ret); + return(c_out ? c_out : ret); } /** @@ -2394,7 +2440,7 @@ xmlCharEncOutput(xmlOutputBufferPtr output, int init) { int ret; size_t written; - size_t writtentot = 0; + int writtentot = 0; size_t toconv; int c_in; int c_out; @@ -2427,7 +2473,7 @@ retry: xmlGenericError(xmlGenericErrorContext, "initialized encoder\n"); #endif - return(0); + return(c_out); } /* @@ -2540,13 +2586,13 @@ retry: goto retry; } } - return(ret); + return(writtentot ? writtentot : ret); } #endif /** * xmlCharEncOutFunc: - * @handler: char enconding transformation data structure + * @handler: char encoding transformation data structure * @out: an xmlBuffer for the output. * @in: an xmlBuffer for the input * @@ -2705,12 +2751,12 @@ retry: goto retry; } } - return(ret); + return(writtentot ? writtentot : ret); } /** * xmlCharEncCloseFunc: - * @handler: char enconding transformation data structure + * @handler: char encoding transformation data structure * * Generic front-end for encoding handler close function * @@ -2811,7 +2857,7 @@ xmlByteConsumed(xmlParserCtxtPtr ctxt) { xmlCharEncodingHandler * handler = in->buf->encoder; /* * Encoding conversion, compute the number of unused original - * bytes from the input not consumed and substract that from + * bytes from the input not consumed and subtract that from * the raw consumed value, this is not a cheap operation */ if (in->end - in->cur > 0) { @@ -2860,7 +2906,7 @@ xmlByteConsumed(xmlParserCtxtPtr ctxt) { * Returns 0 if success, -2 if the transcoding fails, or -1 otherwise * The value of @inlen after return is the number of octets consumed * as the return value is positive, else unpredictable. - * The value of @outlen after return is the number of ocetes consumed. + * The value of @outlen after return is the number of octets consumed. */ static int UTF8ToISO8859x(unsigned char* out, int *outlen, @@ -2976,7 +3022,7 @@ UTF8ToISO8859x(unsigned char* out, int *outlen, * block of chars out. * Returns 0 if success, or -1 otherwise * The value of @inlen after return is the number of octets consumed - * The value of @outlen after return is the number of ocetes produced. + * The value of @outlen after return is the number of octets produced. */ static int ISO8859xToUTF8(unsigned char* out, int *outlen, @@ -71,7 +71,7 @@ static xmlEntity xmlEntityApos = { /** * xmlEntitiesErrMemory: - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -148,7 +148,7 @@ xmlFreeEntity(xmlEntityPtr entity) /* * xmlCreateEntity: * - * internal routine doing the entity node strutures allocations + * internal routine doing the entity node structures allocations */ static xmlEntityPtr xmlCreateEntity(xmlDictPtr dict, const xmlChar *name, int type, @@ -398,7 +398,7 @@ xmlAddDocEntity(xmlDocPtr doc, const xmlChar *name, int type, * * Create a new entity, this differs from xmlAddDocEntity() that if * the document is NULL or has no internal subset defined, then an - * unlinked entity structure will be returned, it is then the responsability + * unlinked entity structure will be returned, it is then the responsibility * of the caller to link it to the document later or free it when not needed * anymore. * @@ -548,7 +548,7 @@ xmlGetDocEntity(const xmlDoc *doc, const xmlChar *name) { * xmlEncodeEntitiesInternal: * @doc: the document containing the string * @input: A string to convert to XML. - * @attr: are we handling an atrbute value + * @attr: are we handling an attribute value * * Do a global encoding of a string, replacing the predefined entities * and non ASCII values with their entities and CharRef counterparts. @@ -146,7 +146,7 @@ xmlSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler) { * xmlParserPrintFileInfo: * @input: an xmlParserInputPtr input * - * Displays the associated file and line informations for the current input + * Displays the associated file and line information for the current input */ void @@ -238,7 +238,7 @@ xmlParserPrintFileContext(xmlParserInputPtr input) { * @ctx: the parser context or NULL * @str: the formatted error message * - * Report an erro with its context, replace the 4 old error/warning + * Report an error with its context, replace the 4 old error/warning * routines. */ static void @@ -631,7 +631,7 @@ __xmlRaiseError(xmlStructuredErrorFunc schannel, (channel == xmlParserValidityError) || (channel == xmlParserValidityWarning)) xmlReportError(to, ctxt, str, NULL, NULL); - else if ((channel == (xmlGenericErrorFunc) fprintf) || + else if (((void(*)(void)) channel == (void(*)(void)) fprintf) || (channel == xmlGenericErrorDefaultFunc)) xmlReportError(to, ctxt, str, channel, data); else @@ -643,7 +643,7 @@ __xmlRaiseError(xmlStructuredErrorFunc schannel, * @domain: where the error comes from * @code: the error code * @node: the context node - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ diff --git a/example/gjobread.c b/example/gjobread.c index a435ca4f..d092c12c 100644 --- a/example/gjobread.c +++ b/example/gjobread.c @@ -289,7 +289,7 @@ int main(int argc, char **argv) { int i; gJobPtr cur; - /* COMPAT: Do not genrate nodes for formatting spaces */ + /* COMPAT: Do not generate nodes for formatting spaces */ LIBXML_TEST_VERSION xmlKeepBlanksDefault(0); diff --git a/fuzz/.gitignore b/fuzz/.gitignore new file mode 100644 index 00000000..d7ea7964 --- /dev/null +++ b/fuzz/.gitignore @@ -0,0 +1,11 @@ +corpus/ +html +regexp +schema +schemaSeed +seed/xml* +seed/schema* +testFuzzer +uri +xml +xmlSeed diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am new file mode 100644 index 00000000..c360e567 --- /dev/null +++ b/fuzz/Makefile.am @@ -0,0 +1,113 @@ +EXTRA_PROGRAMS = html regexp uri schema schemaSeed xml xmlSeed +check_PROGRAMS = testFuzzer +CLEANFILES = $(EXTRA_PROGRAMS) +AM_CPPFLAGS = -I$(top_srcdir)/include +DEPENDENCIES = $(top_builddir)/libxml2.la +LDADD = $(STATIC_BINARIES) $(top_builddir)/libxml2.la $(THREAD_LIBS) $(Z_LIBS) $(LZMA_LIBS) $(ICONV_LIBS) $(M_LIBS) $(WIN32_EXTRA_LIBADD) + +PARSER_FUZZER_MAX_LEN = 100000 +XML_SEED_CORPUS_SRC = \ + $(top_srcdir)/test/* \ + $(top_srcdir)/test/errors/*.xml \ + $(top_srcdir)/test/errors10/*.xml \ + $(top_srcdir)/test/namespaces/* \ + $(top_srcdir)/test/valid/*.xml \ + $(top_srcdir)/test/xmlid/* \ + $(top_srcdir)/test/VC/* \ + $(top_srcdir)/test/VCM/* + +xmlSeed_SOURCES = xmlSeed.c fuzz.c + +seed/xml.stamp: xmlSeed$(EXEEXT) + @mkdir -p seed/xml + @for i in $(XML_SEED_CORPUS_SRC); do \ + if [ -f $$i ]; then \ + echo Processing seed $$i; \ + base=$$(basename $$i) \ + outfile=$(abs_builddir)/seed/xml/$$base; \ + pushd $$(dirname $$i) >/dev/null; \ + $(abs_builddir)/xmlSeed$(EXEEXT) $$base > $$outfile; \ + popd >/dev/null; \ + if [ "$$(wc -c < $$outfile)" -gt $(PARSER_FUZZER_MAX_LEN) ]; then \ + rm $$outfile; \ + fi; \ + fi; \ + done + @touch seed/xml.stamp + +testFuzzer_SOURCES = testFuzzer.c fuzz.c + +tests: testFuzzer$(EXEEXT) + @echo "## Running fuzzer tests" + @./testFuzzer$(EXEEXT) + +xml_SOURCES = xml.c fuzz.c +xml_LDFLAGS = -fsanitize=fuzzer + +fuzz-xml: xml$(EXEEXT) seed/xml.stamp + @mkdir -p corpus/xml + ./xml$(EXEEXT) \ + -dict=xml.dict \ + -max_len=$(PARSER_FUZZER_MAX_LEN) \ + -timeout=20 \ + corpus/xml seed/xml + +html_SOURCES = html.c fuzz.c +html_LDFLAGS = -fsanitize=fuzzer + +fuzz-html: html$(EXEEXT) + @mkdir -p corpus/html + ./html$(EXEEXT) \ + -dict=html.dict \ + -max_len=1000000 \ + -timeout=20 \ + corpus/html $(top_srcdir)/test/HTML + +regexp_SOURCES = regexp.c fuzz.c +regexp_LDFLAGS = -fsanitize=fuzzer + +fuzz-regexp: regexp$(EXEEXT) + @mkdir -p corpus/regexp + ./regexp$(EXEEXT) \ + -dict=regexp.dict \ + -max_len=10000 \ + -timeout=20 \ + corpus/regexp $(srcdir)/seed/regexp + +uri_SOURCES = uri.c fuzz.c +uri_LDFLAGS = -fsanitize=fuzzer + +fuzz-uri: uri$(EXEEXT) + @mkdir -p corpus/uri + ./uri$(EXEEXT) \ + -max_len=10000 \ + -timeout=2 \ + corpus/uri $(srcdir)/seed/uri + +schemaSeed_SOURCES = schemaSeed.c fuzz.c + +seed/schema.stamp: schemaSeed$(EXEEXT) + @mkdir -p seed/schema + @for i in ../test/schemas/*.xsd; do \ + if [ -f $$i ]; then \ + echo Processing seed $$i; \ + base=$$(basename $$i) \ + outfile=$(abs_builddir)/seed/schema/$$base; \ + pushd $$(dirname $$i) >/dev/null; \ + $(abs_builddir)/schemaSeed$(EXEEXT) $$base > $$outfile; \ + popd >/dev/null; \ + fi; \ + done + @touch seed/schema.stamp + +schema_SOURCES = schema.c fuzz.c +schema_LDFLAGS = -fsanitize=fuzzer + +fuzz-schema: schema$(EXEEXT) seed/schema.stamp + @mkdir -p corpus/schema + ./schema$(EXEEXT) \ + -dict=schema.dict \ + -max_len=$(PARSER_FUZZER_MAX_LEN) \ + -timeout=20 \ + corpus/schema seed/schema + diff --git a/fuzz/README b/fuzz/README new file mode 100644 index 00000000..f675ad82 --- /dev/null +++ b/fuzz/README @@ -0,0 +1,19 @@ +libFuzzer instructions for libxml2 +================================== + +Set compiler and options: + + export CC=clang + export CFLAGS="-g -fsanitize=fuzzer-no-link,address,undefined \ + -fno-sanitize-recover=all \ + -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION" + +Build libxml2 with instrumentation: + + ./configure --without-python + make + +Run fuzzers: + + make -C fuzz fuzz-xml + diff --git a/fuzz/fuzz.c b/fuzz/fuzz.c new file mode 100644 index 00000000..ba7c9cad --- /dev/null +++ b/fuzz/fuzz.c @@ -0,0 +1,359 @@ +/* + * fuzz.c: Common functions for fuzzing. + * + * See Copyright for the status of this software. + */ + +#include <stdlib.h> +#include <string.h> +#include <libxml/hash.h> +#include <libxml/parser.h> +#include <libxml/parserInternals.h> +#include <libxml/tree.h> +#include <libxml/xmlIO.h> +#include "fuzz.h" + +typedef struct { + const char *data; + size_t size; +} xmlFuzzEntityInfo; + +/* Single static instance for now */ +static struct { + /* Original data */ + const char *data; + size_t size; + + /* Remaining data */ + const char *ptr; + size_t remaining; + + /* Buffer for unescaped strings */ + char *outBuf; + char *outPtr; /* Free space at end of buffer */ + + xmlHashTablePtr entities; /* Maps URLs to xmlFuzzEntityInfos */ + + /* The first entity is the main entity. */ + const char *mainUrl; + xmlFuzzEntityInfo *mainEntity; +} fuzzData; + +/** + * xmlFuzzErrorFunc: + * + * An error function that simply discards all errors. + */ +void +xmlFuzzErrorFunc(void *ctx ATTRIBUTE_UNUSED, const char *msg ATTRIBUTE_UNUSED, + ...) { +} + +/** + * xmlFuzzDataInit: + * + * Initialize fuzz data provider. + */ +void +xmlFuzzDataInit(const char *data, size_t size) { + fuzzData.data = data; + fuzzData.size = size; + fuzzData.ptr = data; + fuzzData.remaining = size; + + fuzzData.outBuf = xmlMalloc(size + 1); + fuzzData.outPtr = fuzzData.outBuf; + + fuzzData.entities = xmlHashCreate(8); + fuzzData.mainUrl = NULL; + fuzzData.mainEntity = NULL; +} + +static void +xmlFreeEntityEntry(void *value, const xmlChar *name) { + xmlFree(value); +} + +/** + * xmlFuzzDataFree: + * + * Cleanup fuzz data provider. + */ +void +xmlFuzzDataCleanup(void) { + xmlFree(fuzzData.outBuf); + xmlHashFree(fuzzData.entities, xmlFreeEntityEntry); +} + +/** + * xmlFuzzReadInt: + * @size: size of string in bytes + * + * Read an integer from the fuzz data. + */ +int +xmlFuzzReadInt() { + int ret; + + if (fuzzData.remaining < sizeof(int)) + return(0); + memcpy(&ret, fuzzData.ptr, sizeof(int)); + fuzzData.ptr += sizeof(int); + fuzzData.remaining -= sizeof(int); + + return ret; +} + +/** + * xmlFuzzReadRemaining: + * @size: size of string in bytes + * + * Read remaining bytes from fuzz data. + */ +const char * +xmlFuzzReadRemaining(size_t *size) { + const char *ret = fuzzData.ptr; + + *size = fuzzData.remaining; + fuzzData.ptr += fuzzData.remaining; + fuzzData.remaining = 0; + + return(ret); +} + +/* + * Write a random-length string to stdout in a format similar to + * FuzzedDataProvider. Backslash followed by newline marks the end of the + * string. Two backslashes are used to escape a backslash. + */ +static void +xmlFuzzWriteString(const char *str) { + for (; *str; str++) { + int c = (unsigned char) *str; + putchar(c); + if (c == '\\') + putchar(c); + } + putchar('\\'); + putchar('\n'); +} + +/** + * xmlFuzzReadString: + * @size: size of string in bytes + * + * Read a random-length string from the fuzz data. + * + * The format is similar to libFuzzer's FuzzedDataProvider but treats + * backslash followed by newline as end of string. This makes the fuzz data + * more readable. A backslash character is escaped with another backslash. + * + * Returns a zero-terminated string or NULL if the fuzz data is exhausted. + */ +static const char * +xmlFuzzReadString(size_t *size) { + const char *out = fuzzData.outPtr; + + while (fuzzData.remaining > 0) { + int c = *fuzzData.ptr++; + fuzzData.remaining--; + + if ((c == '\\') && (fuzzData.remaining > 0)) { + int c2 = *fuzzData.ptr; + + if (c2 == '\n') { + fuzzData.ptr++; + fuzzData.remaining--; + *size = fuzzData.outPtr - out; + *fuzzData.outPtr++ = '\0'; + return(out); + } + if (c2 == '\\') { + fuzzData.ptr++; + fuzzData.remaining--; + } + } + + *fuzzData.outPtr++ = c; + } + + if (fuzzData.outPtr > out) { + *size = fuzzData.outPtr - out; + *fuzzData.outPtr++ = '\0'; + return(out); + } + + return(NULL); +} + +/* + * A custom entity loader that writes all external DTDs or entities to a + * single file in the format expected by xmlFuzzEntityLoader. + */ +xmlParserInputPtr +xmlFuzzEntityRecorder(const char *URL, const char *ID, + xmlParserCtxtPtr ctxt) { + xmlParserInputPtr in; + static const int chunkSize = 16384; + int len; + + in = xmlNoNetExternalEntityLoader(URL, ID, ctxt); + if (in == NULL) + return(NULL); + + if (fuzzData.entities == NULL) { + fuzzData.entities = xmlHashCreate(4); + } else if (xmlHashLookup(fuzzData.entities, + (const xmlChar *) URL) != NULL) { + return(in); + } + + do { + len = xmlParserInputBufferGrow(in->buf, chunkSize); + if (len < 0) { + fprintf(stderr, "Error reading %s\n", URL); + xmlFreeInputStream(in); + return(NULL); + } + } while (len > 0); + + xmlFuzzWriteString(URL); + xmlFuzzWriteString((char *) xmlBufContent(in->buf->buffer)); + + xmlFreeInputStream(in); + + xmlHashAddEntry(fuzzData.entities, (const xmlChar *) URL, NULL); + + return(xmlNoNetExternalEntityLoader(URL, ID, ctxt)); +} + +/** + * xmlFuzzReadEntities: + * + * Read entities like the main XML file, external DTDs, external parsed + * entities from fuzz data. + */ +void +xmlFuzzReadEntities(void) { + size_t num = 0; + + while (1) { + const char *url, *entity; + size_t urlSize, entitySize; + xmlFuzzEntityInfo *entityInfo; + + url = xmlFuzzReadString(&urlSize); + if (url == NULL) break; + + entity = xmlFuzzReadString(&entitySize); + if (entity == NULL) break; + + if (xmlHashLookup(fuzzData.entities, (xmlChar *)url) == NULL) { + entityInfo = xmlMalloc(sizeof(xmlFuzzEntityInfo)); + entityInfo->data = entity; + entityInfo->size = entitySize; + + xmlHashAddEntry(fuzzData.entities, (xmlChar *)url, entityInfo); + + if (num == 0) { + fuzzData.mainUrl = url; + fuzzData.mainEntity = entityInfo; + } + + num++; + } + } +} + +/** + * xmlFuzzMainUrl: + * + * Returns the main URL. + */ +const char * +xmlFuzzMainUrl(void) { + return(fuzzData.mainUrl); +} + +/** + * xmlFuzzMainEntity: + * @size: size of the main entity in bytes + * + * Returns the main entity. + */ +const char * +xmlFuzzMainEntity(size_t *size) { + if (fuzzData.mainEntity == NULL) + return(NULL); + *size = fuzzData.mainEntity->size; + return(fuzzData.mainEntity->data); +} + +/** + * xmlFuzzEntityLoader: + * + * The entity loader for fuzz data. + */ +xmlParserInputPtr +xmlFuzzEntityLoader(const char *URL, const char *ID ATTRIBUTE_UNUSED, + xmlParserCtxtPtr ctxt) { + xmlParserInputPtr input; + xmlFuzzEntityInfo *entity; + + if (URL == NULL) + return(NULL); + entity = xmlHashLookup(fuzzData.entities, (xmlChar *) URL); + if (entity == NULL) + return(NULL); + + input = xmlNewInputStream(ctxt); + input->filename = NULL; + input->buf = xmlParserInputBufferCreateMem(entity->data, entity->size, + XML_CHAR_ENCODING_NONE); + input->base = input->cur = xmlBufContent(input->buf->buffer); + input->end = input->base + entity->size; + + return input; +} + +/** + * xmlFuzzExtractStrings: + * + * Extract C strings from input data. Use exact-size allocations to detect + * potential memory errors. + */ +size_t +xmlFuzzExtractStrings(const char *data, size_t size, char **strings, + size_t numStrings) { + const char *start = data; + const char *end = data + size; + size_t i = 0, ret; + + while (i < numStrings) { + size_t strSize = end - start; + const char *zero = memchr(start, 0, strSize); + + if (zero != NULL) + strSize = zero - start; + + strings[i] = xmlMalloc(strSize + 1); + memcpy(strings[i], start, strSize); + strings[i][strSize] = '\0'; + + i++; + if (zero != NULL) + start = zero + 1; + else + break; + } + + ret = i; + + while (i < numStrings) { + strings[i] = NULL; + i++; + } + + return(ret); +} + diff --git a/fuzz/fuzz.h b/fuzz/fuzz.h new file mode 100644 index 00000000..7e7fc29c --- /dev/null +++ b/fuzz/fuzz.h @@ -0,0 +1,63 @@ +/* + * fuzz.h: Common functions and macros for fuzzing. + * + * See Copyright for the status of this software. + */ + +#ifndef __XML_FUZZERCOMMON_H__ +#define __XML_FUZZERCOMMON_H__ + +#include <stddef.h> +#include <libxml/parser.h> + +#ifdef __cplusplus +extern "C" { +#endif + +int +LLVMFuzzerInitialize(int *argc, char ***argv); + +int +LLVMFuzzerTestOneInput(const char *data, size_t size); + +void +xmlFuzzErrorFunc(void *ctx ATTRIBUTE_UNUSED, const char *msg ATTRIBUTE_UNUSED, + ...); + +void +xmlFuzzDataInit(const char *data, size_t size); + +void +xmlFuzzDataCleanup(void); + +int +xmlFuzzReadInt(void); + +const char * +xmlFuzzReadRemaining(size_t *size); + +xmlParserInputPtr +xmlFuzzEntityRecorder(const char *URL, const char *ID, xmlParserCtxtPtr ctxt); + +void +xmlFuzzReadEntities(void); + +const char * +xmlFuzzMainUrl(void); + +const char * +xmlFuzzMainEntity(size_t *size); + +xmlParserInputPtr +xmlFuzzEntityLoader(const char *URL, const char *ID, xmlParserCtxtPtr ctxt); + +size_t +xmlFuzzExtractStrings(const char *data, size_t size, char **strings, + size_t numStrings); + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_FUZZERCOMMON_H__ */ + diff --git a/fuzz/html.c b/fuzz/html.c new file mode 100644 index 00000000..d212c1f0 --- /dev/null +++ b/fuzz/html.c @@ -0,0 +1,70 @@ +/* + * html.c: a libFuzzer target to test several HTML parser interfaces. + * + * See Copyright for the status of this software. + */ + +#include <libxml/HTMLparser.h> +#include <libxml/HTMLtree.h> +#include "fuzz.h" + +int +LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED, + char ***argv ATTRIBUTE_UNUSED) { + xmlInitParser(); + xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc); + + return 0; +} + +int +LLVMFuzzerTestOneInput(const char *data, size_t size) { + static const size_t maxChunkSize = 128; + htmlDocPtr doc; + htmlParserCtxtPtr ctxt; + xmlChar *out; + const char *docBuffer; + size_t docSize, consumed, chunkSize; + int opts, outSize; + + xmlFuzzDataInit(data, size); + opts = xmlFuzzReadInt(); + + docBuffer = xmlFuzzReadRemaining(&docSize); + if (docBuffer == NULL) { + xmlFuzzDataCleanup(); + return(0); + } + + /* Pull parser */ + + doc = htmlReadMemory(docBuffer, docSize, NULL, NULL, opts); + /* Also test the serializer. */ + htmlDocDumpMemory(doc, &out, &outSize); + xmlFree(out); + xmlFreeDoc(doc); + + /* Push parser */ + + ctxt = htmlCreatePushParserCtxt(NULL, NULL, NULL, 0, NULL, + XML_CHAR_ENCODING_NONE); + htmlCtxtUseOptions(ctxt, opts); + + for (consumed = 0; consumed < docSize; consumed += chunkSize) { + chunkSize = docSize - consumed; + if (chunkSize > maxChunkSize) + chunkSize = maxChunkSize; + htmlParseChunk(ctxt, docBuffer + consumed, chunkSize, 0); + } + + htmlParseChunk(ctxt, NULL, 0, 1); + xmlFreeDoc(ctxt->myDoc); + htmlFreeParserCtxt(ctxt); + + /* Cleanup */ + + xmlFuzzDataCleanup(); + + return(0); +} + diff --git a/fuzz/html.dict b/fuzz/html.dict new file mode 100644 index 00000000..801b7bb5 --- /dev/null +++ b/fuzz/html.dict @@ -0,0 +1,111 @@ +elem_a="<a></a>" +elem_abbr="<abbr></abbr>" +elem_acronym="<acronym></acronym>" +elem_address="<address></address>" +elem_applet="<applet></applet>" +elem_area="<area>" +elem_b="<b></b>" +elem_base="<base>" +elem_basefont="<basefont>" +elem_bdo="<bdo></bdo>" +elem_big="<big></big>" +elem_blockquote="<blockquote></blockquote>" +elem_body="<body></body>" +elem_br="<br>" +elem_button="<button></button>" +elem_caption="<caption></caption>" +elem_center="<center></center>" +elem_cite="<cite></cite>" +elem_code="<code></code>" +elem_col="<col>" +elem_colgroup="<colgroup></colgroup>" +elem_dd="<dd></dd>" +elem_del="<del></del>" +elem_dfn="<dfn></dfn>" +elem_dir="<dir></dir>" +elem_div="<div></div>" +elem_dl="<dl></dl>" +elem_dt="<dt></dt>" +elem_em="<em></em>" +elem_embed="<embed></embed>" +elem_fieldset="<fieldset></fieldset>" +elem_font="<font></font>" +elem_form="<form></form>" +elem_frame="<frame>" +elem_frameset="<frameset></frameset>" +elem_h1="<h1></h1>" +elem_h2="<h2></h2>" +elem_h3="<h3></h3>" +elem_h4="<h4></h4>" +elem_h5="<h5></h5>" +elem_h6="<h6></h6>" +elem_head="<head></head>" +elem_hr="<hr>" +elem_html="<html></html>" +elem_i="<i></i>" +elem_iframe="<iframe></iframe>" +elem_img="<img>" +elem_input="<input>" +elem_ins="<ins></ins>" +elem_isindex="<isindex>" +elem_kbd="<kbd></kbd>" +elem_label="<label></label>" +elem_legend="<legend></legend>" +elem_li="<li></li>" +elem_link="<link>" +elem_map="<map></map>" +elem_menu="<menu></menu>" +elem_meta="<meta>" +elem_noframes="<noframes></noframes>" +elem_noscript="<noscript></noscript>" +elem_object="<object></object>" +elem_ol="<ol></ol>" +elem_optgroup="<optgroup></optgroup>" +elem_option="<option></option>" +elem_p="<p></p>" +elem_param="<param>" +elem_pre="<pre></pre>" +elem_q="<q></q>" +elem_s="<s></s>" +elem_samp="<samp></samp>" +elem_script="<script></script>" +elem_select="<select></select>" +elem_small="<small></small>" +elem_span="<span></span>" +elem_strike="<strike></strike>" +elem_strong="<strong></strong>" +elem_style="<style></style>" +elem_sub="<sub></sub>" +elem_sup="<sup></sup>" +elem_table="<table></table>" +elem_tbody="<tbody></tbody>" +elem_td="<td></td>" +elem_textarea="<textarea></textarea>" +elem_tfoot="<tfoot></tfoot>" +elem_th="<th></th>" +elem_thead="<thead></thead>" +elem_title="<title></title>" +elem_tr="<tr></tr>" +elem_tt="<tt></tt>" +elem_u="<u></u>" +elem_ul="<ul></ul>" +elem_var="<var></var>" + +attr_id=" id=\"\"" +attr_style=" style=\"\"" + +comment="<!-- -->" + +doctype="<!DOCTYPE d>" +doctype_system="<!DOCTYPE s SYSTEM \"u\">" +doctype_public="<!DOCTYPE p PUBLIC \"i\" \"u\">" + +pi="<?a?>" + +ref_lt="<" +ref_gt=">" +ref_amp="&" +ref_apos="'" +ref_quot=""" +ref_dec="	" +ref_hex="
" diff --git a/fuzz/html.options b/fuzz/html.options new file mode 100644 index 00000000..e5ae71b9 --- /dev/null +++ b/fuzz/html.options @@ -0,0 +1,2 @@ +[libfuzzer] +max_len = 1000000 diff --git a/fuzz/regexp.c b/fuzz/regexp.c new file mode 100644 index 00000000..ed13f637 --- /dev/null +++ b/fuzz/regexp.c @@ -0,0 +1,40 @@ +/* + * regexp.c: a libFuzzer target to test the regexp module. + * + * See Copyright for the status of this software. + */ + +#include <libxml/xmlregexp.h> +#include "fuzz.h" + +int +LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED, + char ***argv ATTRIBUTE_UNUSED) { + xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc); + + return 0; +} + +int +LLVMFuzzerTestOneInput(const char *data, size_t size) { + xmlRegexpPtr regexp; + char *str[2] = { NULL, NULL }; + size_t numStrings; + + numStrings = xmlFuzzExtractStrings(data, size, str, 2); + + regexp = xmlRegexpCompile(BAD_CAST str[0]); + /* xmlRegexpExec has pathological performance in too many cases. */ +#if 0 + if ((regexp != NULL) && (numStrings >= 2)) { + xmlRegexpExec(regexp, BAD_CAST str[1]); + } +#endif + xmlRegFreeRegexp(regexp); + + xmlFree(str[0]); + xmlFree(str[1]); + + return 0; +} + diff --git a/fuzz/regexp.dict b/fuzz/regexp.dict new file mode 100644 index 00000000..06b74a6c --- /dev/null +++ b/fuzz/regexp.dict @@ -0,0 +1,16 @@ +quant_any="*" +quant_opt="?" +quant_some="+" +quant_num="{1,2}" + +branch="|a" +pos_group="[a]" +neg_group="[^a]" + +cat_letter="\\p{L}" +cat_mark="\\p{M}" +cat_number="\\p{N}" +cat_punct="\\p{P}" +cat_sym="\\p{S}" +cat_sep="\\p{Z}" +cat_other="\\p{C}" diff --git a/fuzz/schema.c b/fuzz/schema.c new file mode 100644 index 00000000..f1ee9380 --- /dev/null +++ b/fuzz/schema.c @@ -0,0 +1,36 @@ +/* + * schema.c: a libFuzzer target to test the XML Schema processor. + * + * See Copyright for the status of this software. + */ + +#include <libxml/xmlschemas.h> +#include "fuzz.h" + +int +LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED, + char ***argv ATTRIBUTE_UNUSED) { + xmlInitParser(); + xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc); + xmlSetExternalEntityLoader(xmlFuzzEntityLoader); + + return 0; +} + +int +LLVMFuzzerTestOneInput(const char *data, size_t size) { + xmlSchemaParserCtxtPtr pctxt; + + xmlFuzzDataInit(data, size); + xmlFuzzReadEntities(); + + pctxt = xmlSchemaNewParserCtxt(xmlFuzzMainUrl()); + xmlSchemaSetParserErrors(pctxt, xmlFuzzErrorFunc, xmlFuzzErrorFunc, NULL); + xmlSchemaFree(xmlSchemaParse(pctxt)); + xmlSchemaFreeParserCtxt(pctxt); + + xmlFuzzDataCleanup(); + + return(0); +} + diff --git a/fuzz/schema.dict b/fuzz/schema.dict new file mode 100644 index 00000000..9a8fd386 --- /dev/null +++ b/fuzz/schema.dict @@ -0,0 +1,55 @@ +# TODO: Add more language elements + +xs_annotation="<xs:annotation></xs:annotation>" + +xs_attribute="<xs:attribute name='a'></xs:attribute>" +xs_attribute_required="<xs:attribute name='a' use='required'></xs:attribute>" +xs_element="<xs:element name='e'></xs:element>" + +# Primitive datatypes +type_string=" type='xs:string'" +type_boolean=" type='xs:boolean'" +type_decimal=" type='xs:decimal'" +type_float=" type='xs:float'" +type_double=" type='xs:double'" +type_date_time=" type='xs:dateTime'" +type_time=" type='xs:time'" +type_date=" type='xs:date'" +type_g_year_month=" type='xs:gYearMonth'" +type_g_year=" type='xs:gYear'" +type_g_month_day=" type='xs:gMonthDay'" +type_g_day=" type='xs:gDay'" +type_g_month=" type='xs:gMonth'" +type_hex_binary=" type='xs:hexBinary'" +type_base64_binary=" type='xs:base64Binary'" +type_any_uri=" type='xs:anyURI'" +type_qname=" type='xs:QName'" +type_notation=" type='xs:NOTATION'" + +# Occurs +occurs_min=" minOccurs='1'" +occurs_max=" maxOccurs='9'" +occurs_max_unbounded=" maxOccurs='unbounded'" + +# Simple type +xs_restriction_integer="<xs:simpleType><xs:restriction base='xs:integer'></xs:restriction></xs:simpleType>" +xs_restriction_string="<xs:simpleType><xs:restriction base='xs:string'></xs:restriction></xs:simpleType>" +xs_list="<xs:simpleType><xs:list></xs:list></xs:simpleType>" +xs_union="<xs:simpleType><xs:union></xs:union></xs:simpleType>" + +# Restrictions +xs_min_exclusive="<xs:minExclusive value='0'/>" +xs_min_inclusive="<xs:minInclusive value='0'/>" +xs_max_exclusive="<xs:maxExclusive value='9'/>" +xs_max_inclusive="<xs:maxInclusive value='9'/>" +xs_total_digits="<xs:totalDigits value='3'/>" +xs_fraction_digits="<xs:fractionDigits value='3'/>" +xs_length="<xs:length value='3'/>" +xs_min_length="<xs:minLength value='3'/>" +xs_max_length="<xs:maxLength value='3'/>" +xs_enumeration="<xs:enumeration value='a'/>" +xs_white_space_collapse="<xs:whiteSpace value='collapse'/>" +xs_white_space_preserve="<xs:whiteSpace value='preserve'/>" +xs_white_space_replace="<xs:whiteSpace value='replace'/>" +xs_pattern="<xs:pattern value='a'/>" + diff --git a/fuzz/schema.options b/fuzz/schema.options new file mode 100644 index 00000000..09f13d89 --- /dev/null +++ b/fuzz/schema.options @@ -0,0 +1,2 @@ +[libfuzzer] +max_len = 80000 diff --git a/fuzz/schemaSeed.c b/fuzz/schemaSeed.c new file mode 100644 index 00000000..4e2c6bc6 --- /dev/null +++ b/fuzz/schemaSeed.c @@ -0,0 +1,34 @@ +/* + * xmlSeed.c: Generate the XML seed corpus for fuzzing. + * + * See Copyright for the status of this software. + */ + +#include <stdio.h> +#include <libxml/xmlschemas.h> +#include "fuzz.h" + +int +main(int argc, char **argv) { + xmlSchemaPtr schema; + xmlSchemaParserCtxtPtr pctxt; + + if (argc != 2) { + fprintf(stderr, "Usage: schemaSeed [XSD]\n"); + return(1); + } + + xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc); + xmlSetExternalEntityLoader(xmlFuzzEntityRecorder); + + pctxt = xmlSchemaNewParserCtxt(argv[1]); + xmlSchemaSetParserErrors(pctxt, xmlFuzzErrorFunc, xmlFuzzErrorFunc, NULL); + schema = xmlSchemaParse(pctxt); + xmlSchemaFreeParserCtxt(pctxt); + + xmlSchemaFree(schema); + xmlFuzzDataCleanup(); + + return(0); +} + diff --git a/fuzz/testFuzzer.c b/fuzz/testFuzzer.c new file mode 100644 index 00000000..f6be7b8f --- /dev/null +++ b/fuzz/testFuzzer.c @@ -0,0 +1,55 @@ +/* + * testFuzzer.c: Test program for the custom entity loader used to fuzz + * with multiple inputs. + * + * See Copyright for the status of this software. + */ + +#include <string.h> +#include <libxml/parser.h> +#include <libxml/tree.h> +#include <libxml/xmlstring.h> +#include "fuzz.h" + +int +main() { + static const char data[] = + "doc.xml\\\n" + "<!DOCTYPE doc SYSTEM \"doc.dtd\">\n" + "<doc>&ent;</doc>\\\n" + "doc.dtd\\\n" + "<!ELEMENT doc (#PCDATA)>\n" + "<!ENTITY ent SYSTEM \"ent.txt\">\\\n" + "ent.txt\\\n" + "Hello, world!\\\n"; + static xmlChar expected[] = + "<?xml version=\"1.0\"?>\n" + "<!DOCTYPE doc SYSTEM \"doc.dtd\">\n" + "<doc>Hello, world!</doc>\n"; + const char *docBuffer; + size_t docSize; + xmlDocPtr doc; + xmlChar *out; + int ret = 0; + + xmlSetExternalEntityLoader(xmlFuzzEntityLoader); + + xmlFuzzDataInit(data, sizeof(data) - 1); + xmlFuzzReadEntities(); + docBuffer = xmlFuzzMainEntity(&docSize); + doc = xmlReadMemory(docBuffer, docSize, NULL, NULL, + XML_PARSE_NOENT | XML_PARSE_DTDLOAD); + + xmlDocDumpMemory(doc, &out, NULL); + if (xmlStrcmp(out, expected) != 0) { + fprintf(stderr, "Expected:\n%sGot:\n%s", expected, out); + ret = 1; + } + + xmlFree(out); + xmlFreeDoc(doc); + xmlFuzzDataCleanup(); + + return(ret); +} + diff --git a/fuzz/uri.c b/fuzz/uri.c new file mode 100644 index 00000000..69d0439f --- /dev/null +++ b/fuzz/uri.c @@ -0,0 +1,45 @@ +/* + * uri.c: a libFuzzer target to test the URI module. + * + * See Copyright for the status of this software. + */ + +#include <libxml/uri.h> +#include "fuzz.h" + +int +LLVMFuzzerTestOneInput(const char *data, size_t size) { + xmlURIPtr uri; + char *str[2] = { NULL, NULL }; + size_t numStrings; + + numStrings = xmlFuzzExtractStrings(data, size, str, 2); + + uri = xmlParseURI(str[0]); + xmlFree(xmlSaveUri(uri)); + xmlFreeURI(uri); + + uri = xmlParseURIRaw(str[0], 1); + xmlFree(xmlSaveUri(uri)); + xmlFreeURI(uri); + + xmlFree(xmlURIUnescapeString(str[0], -1, NULL)); + xmlFree(xmlURIEscape(BAD_CAST str[0])); + xmlFree(xmlCanonicPath(BAD_CAST str[0])); + xmlFree(xmlPathToURI(BAD_CAST str[0])); + + if (numStrings >= 2) { + xmlFree(xmlBuildURI(BAD_CAST str[1], BAD_CAST str[0])); + xmlFree(xmlBuildRelativeURI(BAD_CAST str[1], BAD_CAST str[0])); + xmlFree(xmlURIEscapeStr(BAD_CAST str[0], BAD_CAST str[1])); + } + + /* Modifies string, so must come last. */ + xmlNormalizeURIPath(str[0]); + + xmlFree(str[0]); + xmlFree(str[1]); + + return 0; +} + diff --git a/fuzz/xml.c b/fuzz/xml.c new file mode 100644 index 00000000..50dd967d --- /dev/null +++ b/fuzz/xml.c @@ -0,0 +1,90 @@ +/* + * xml.c: a libFuzzer target to test several XML parser interfaces. + * + * See Copyright for the status of this software. + */ + +#include <libxml/parser.h> +#include <libxml/tree.h> +#include <libxml/xmlerror.h> +#include <libxml/xmlreader.h> +#include "fuzz.h" + +int +LLVMFuzzerInitialize(int *argc ATTRIBUTE_UNUSED, + char ***argv ATTRIBUTE_UNUSED) { + xmlInitParser(); + xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc); + xmlSetExternalEntityLoader(xmlFuzzEntityLoader); + + return 0; +} + +int +LLVMFuzzerTestOneInput(const char *data, size_t size) { + static const size_t maxChunkSize = 128; + xmlDocPtr doc; + xmlParserCtxtPtr ctxt; + xmlTextReaderPtr reader; + xmlChar *out; + const char *docBuffer; + size_t docSize, consumed, chunkSize; + int opts, outSize; + + xmlFuzzDataInit(data, size); + opts = xmlFuzzReadInt(); + /* XML_PARSE_HUGE still causes timeouts. */ + opts &= ~XML_PARSE_HUGE; + + xmlFuzzReadEntities(); + docBuffer = xmlFuzzMainEntity(&docSize); + if (docBuffer == NULL) { + xmlFuzzDataCleanup(); + return(0); + } + + /* Pull parser */ + + doc = xmlReadMemory(docBuffer, docSize, NULL, NULL, opts); + /* Also test the serializer. */ + xmlDocDumpMemory(doc, &out, &outSize); + xmlFree(out); + xmlFreeDoc(doc); + + /* Push parser */ + + ctxt = xmlCreatePushParserCtxt(NULL, NULL, NULL, 0, NULL); + xmlCtxtUseOptions(ctxt, opts); + + for (consumed = 0; consumed < docSize; consumed += chunkSize) { + chunkSize = docSize - consumed; + if (chunkSize > maxChunkSize) + chunkSize = maxChunkSize; + xmlParseChunk(ctxt, docBuffer + consumed, chunkSize, 0); + } + + xmlParseChunk(ctxt, NULL, 0, 1); + xmlFreeDoc(ctxt->myDoc); + xmlFreeParserCtxt(ctxt); + + /* Reader */ + + reader = xmlReaderForMemory(docBuffer, docSize, NULL, NULL, opts); + while (xmlTextReaderRead(reader) == 1) { + if (xmlTextReaderNodeType(reader) == XML_ELEMENT_NODE) { + int i, n = xmlTextReaderAttributeCount(reader); + for (i=0; i<n; i++) { + xmlTextReaderMoveToAttributeNo(reader, i); + while (xmlTextReaderReadAttributeValue(reader) == 1); + } + } + } + xmlFreeTextReader(reader); + + /* Cleanup */ + + xmlFuzzDataCleanup(); + + return(0); +} + diff --git a/fuzz/xml.dict b/fuzz/xml.dict new file mode 100644 index 00000000..2573aea6 --- /dev/null +++ b/fuzz/xml.dict @@ -0,0 +1,76 @@ +xml_decl="<?xml version='1.0'?>" +xml_decl_latin1="<?xml version='1.0' encoding='ISO-8859-1'?>" + +elem_start_end="<a></a>" +elem_empty="<a/>" +elem_ns_start_end="<a:a xmlns:a='a'></a:a>" +elem_ns_empty="<a:a xmlns:a='a'/>" + +attr=" a='a'" + +ns_decl=" xmlns:a='a'" +ns_default=" xmlns='a'" +ns_prefix="a:" + +cdata_section="<![CDATA[ ]]>" + +comment="<!-- -->" + +pi="<?a?>" + +elem_decl_any="<!ELEMENT a ANY>" +elem_decl_empty="<!ELEMENT a EMPTY>" +elem_decl_children="<!ELEMENT a (a)>" +elem_decl_mixed="<!ELEMENT a (#PCDATA|a)>" +elem_children_choice="|a" +elem_children_seq=",a" +elem_children_sub_choice="|(a)" +elem_children_sub_seq=",(a)" +elem_quant_any="*" +elem_quant_opt="?" +elem_quant_some="+" + +attlist_decl_cdata_req="<!ATTLIST a a CDATA #REQUIRED>" +attlist_decl_cdata_imp="<!ATTLIST a a CDATA #IMPLIED>" +attlist_decl_cdata_def="<!ATTLIST a a CDATA 'a'>" +attlist_decl_cdata_fix="<!ATTLIST a a CDATA #FIXED 'a'>" +attlist_decl_id="<!ATTLIST a a ID #IMPLIED>" +attlist_decl_idref="<!ATTLIST a a IDREF #IMPLIED>" +attlist_decl_idrefs="<!ATTLIST a a IDREFS #IMPLIED>" +attlist_decl_entity="<!ATTLIST a a ENTITY #IMPLIED>" +attlist_decl_entities="<!ATTLIST a a ENTITIES #IMPLIED>" +attlist_decl_nmtoken="<!ATTLIST a a NMTOKEN #IMPLIED>" +attlist_decl_nmtokens="<!ATTLIST a a NMTOKENS #IMPLIED>" +attlist_decl_enum="<!ATTLIST a a (a) #IMPLIED>" +attlist_decl_notation="<!ATTLIST a a NOTATION (a) #IMPLIED>" + +include_sect="<![INCLUDE[ ]]>" +ignore_sect="<![IGNORE[ ]]>" + +ge_decl="<!ENTITY a 'a'>" +ge_decl_system="<!ENTITY a SYSTEM 'a'>" +ge_decl_system_ndata="<!ENTITY a SYSTEM 'a' NDATA a>" +ge_decl_public="<!ENTITY a PUBLIC 'a' 'a'>" +ge_decl_public_ndata="<!ENTITY a PUBLIC 'a' 'a' NDATA a>" + +pe_decl="<!ENTITY % a 'a'>" +pe_decl_system="<!ENTITY % a SYSTEM 'a'>" +pe_decl_public="<!ENTITY % a PUBLIC 'a' 'a'>" + +char_ref_dec="<" +char_ref_hex="<" +char_ref_quoted="&#60;" + +ge_ref_lt="<" +ge_ref_gt=">" +ge_ref_amp="&" +ge_ref_apos="'" +ge_ref_quot=""" +ge_ref="&a;" +ge_ref_quoted="&a;" + +pe_ref="%a;" +pe_ref_quoted="%a;" + +notation_decl_public="<!NOTATION a PUBLIC 'a'>" +notation_decl_system="<!NOTATION a SYSTEM 'a'>" diff --git a/fuzz/xml.options b/fuzz/xml.options new file mode 100644 index 00000000..09f13d89 --- /dev/null +++ b/fuzz/xml.options @@ -0,0 +1,2 @@ +[libfuzzer] +max_len = 80000 diff --git a/fuzz/xmlSeed.c b/fuzz/xmlSeed.c new file mode 100644 index 00000000..5ce97d0b --- /dev/null +++ b/fuzz/xmlSeed.c @@ -0,0 +1,28 @@ +/* + * xmlSeed.c: Generate the XML seed corpus for fuzzing. + * + * See Copyright for the status of this software. + */ + +#include <stdio.h> +#include "fuzz.h" + +int +main(int argc, char **argv) { + int opts = XML_PARSE_NOENT | XML_PARSE_DTDLOAD; + + if (argc != 2) { + fprintf(stderr, "Usage: xmlSeed [FILE]\n"); + return(1); + } + + fwrite(&opts, sizeof(opts), 1, stdout); + + xmlSetGenericErrorFunc(NULL, xmlFuzzErrorFunc); + xmlSetExternalEntityLoader(xmlFuzzEntityRecorder); + xmlFreeDoc(xmlReadFile(argv[1], NULL, opts)); + xmlFuzzDataCleanup(); + + return(0); +} + diff --git a/genChRanges.py b/genChRanges.py index c1383193..0eb09d05 100755 --- a/genChRanges.py +++ b/genChRanges.py @@ -439,7 +439,7 @@ for f in fkeys: numLong = 0 for rg in rangeTable: if rg[1] < 0x10000: # if short value - if numShort == 0: # first occurence + if numShort == 0: # first occurrence pline = "static const xmlChSRange %s_srng[] = { " % f else: pline += ", " @@ -449,7 +449,7 @@ for f in fkeys: pline = " " pline += "{0x%x, 0x%x}" % (rg[0], rg[1]) else: # if long value - if numLong == 0: # first occurence + if numLong == 0: # first occurrence if numShort > 0: # if there were shorts, finish them off output.write(pline + "};\n") pline = "static const xmlChLRange %s_lrng[] = { " % f @@ -120,7 +120,7 @@ skipped_functions = [ "xmlRegisterInputCallbacks", "xmlReaderForIO", "xmlOutputBufferCreateIO", "xmlRegisterOutputCallbacks", "xmlSaveToIO", "xmlIOHTTPOpenW", -# library state cleanup, generate false leak informations and other +# library state cleanup, generate false leak information and other # troubles, heavillyb tested otherwise. "xmlCleanupParser", "xmlRelaxNGCleanupTypes", "xmlSetListDoc", "xmlSetTreeDoc", "xmlUnlinkNode", @@ -399,14 +399,20 @@ def type_convert(str, name, info, module, function, pos): known_param_types = [] -def is_known_param_type(name, rtype): - global test +def is_known_param_type(name): for type in known_param_types: if type == name: return 1 + return name[-3:] == 'Ptr' or name[-4:] == '_ptr' + +def generate_param_type(name, rtype): + global test + for type in known_param_types: + if type == name: + return for type in generated_param_types: if type == name: - return 1 + return if name[-3:] == 'Ptr' or name[-4:] == '_ptr': if rtype[0:6] == 'const ': @@ -429,9 +435,6 @@ static void des_%s(int no ATTRIBUTE_UNUSED, %s val ATTRIBUTE_UNUSED, int nr ATTR if define == 1: test.write("#endif\n\n") add_generated_param_type(name) - return 1 - - return 0 # # Provide the type destructors for the return values @@ -546,7 +549,7 @@ for enum in enums: continue; define = 0 - if argtypes.has_key(name) and is_known_param_type(name, name) == 0: + if argtypes.has_key(name) and is_known_param_type(name) == 0: values = ctxt.xpathEval("/api/symbols/enum[@type='%s']" % name) i = 0 vals = [] @@ -673,7 +676,7 @@ def generate_test(module, node): # # check we know how to handle the args and return values - # and store the informations for the generation + # and store the information for the generation # try: args = node.xpathEval("arg") @@ -689,7 +692,7 @@ def generate_test(module, node): info = arg.xpathEval("string(@info)") nam = arg.xpathEval("string(@name)") type = type_convert(rtype, nam, info, module, name, n) - if is_known_param_type(type, rtype) == 0: + if is_known_param_type(type) == 0: add_missing_type(type, name); no_gen = 1 if (type[-3:] == 'Ptr' or type[-4:] == '_ptr') and \ @@ -716,6 +719,11 @@ def generate_test(module, node): t_ret = (type, rtype, info) break + if no_gen == 0: + for t_arg in t_args: + (nam, type, rtype, crtype, info) = t_arg + generate_param_type(type, rtype) + test.write(""" static int test_%s(void) { @@ -107,7 +107,7 @@ xmlMallocFunc xmlMalloc = malloc; * @size: the size requested in bytes * * The variable holding the libxml malloc() implementation for atomic - * data (i.e. blocks not containings pointers), useful when using a + * data (i.e. blocks not containing pointers), useful when using a * garbage collecting allocator. * * Returns a pointer to the newly allocated block or NULL in case of error @@ -215,7 +215,7 @@ int oldXMLWDcompatibility = 0; /* DEPRECATED */ /** * xmlParserDebugEntities: * - * Global setting, asking the parser to print out debugging informations. + * Global setting, asking the parser to print out debugging information. * while handling entities. * Disabled by default */ @@ -260,7 +260,7 @@ static int xmlPedanticParserDefaultValueThrDef = 0; * Global setting, indicate that the parser should store the line number * in the content field of elements in the DOM tree. * Disabled by default since this may not be safe for old classes of - * applicaton. + * application. */ int xmlLineNumbersDefaultValue = 0; static int xmlLineNumbersDefaultValueThrDef = 0; @@ -361,7 +361,7 @@ static const char *xmlTreeIndentStringThrDef = " "; * xmlSaveNoEmptyTags: * * Global setting, asking the serializer to not output empty tags - * as <empty/> but <empty></empty>. those two forms are undistinguishable + * as <empty/> but <empty></empty>. those two forms are indistinguishable * once parsed. * Disabled by default */ @@ -11,7 +11,7 @@ * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF - * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. * * Author: breese@users.sourceforge.net @@ -33,7 +33,8 @@ * it seems that having hash randomization might be a good idea * when using XML with untrusted data */ -#if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME) +#if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME) && \ + !defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) #define HASH_RANDOMIZATION #endif @@ -78,6 +79,9 @@ struct _xmlHashTable { * xmlHashComputeKey: * Calculate the hash key */ +#ifdef __clang__ +ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") +#endif static unsigned long xmlHashComputeKey(xmlHashTablePtr table, const xmlChar *name, const xmlChar *name2, const xmlChar *name3) { @@ -108,6 +112,9 @@ xmlHashComputeKey(xmlHashTablePtr table, const xmlChar *name, return (value % table->size); } +#ifdef __clang__ +ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") +#endif static unsigned long xmlHashComputeQKey(xmlHashTablePtr table, const xmlChar *prefix, const xmlChar *name, diff --git a/include/libxml/c14n.h b/include/libxml/c14n.h index b8971d92..d74847df 100644 --- a/include/libxml/c14n.h +++ b/include/libxml/c14n.h @@ -28,17 +28,17 @@ extern "C" { #include <libxml/xpath.h> /* - * XML Canonicazation + * XML Canonicalization * http://www.w3.org/TR/xml-c14n * - * Exclusive XML Canonicazation + * Exclusive XML Canonicalization * http://www.w3.org/TR/xml-exc-c14n * * Canonical form of an XML document could be created if and only if * a) default attributes (if any) are added to all nodes * b) all character and parsed entity references are resolved - * In order to achive this in libxml2 the document MUST be loaded with - * following global setings: + * In order to achieve this in libxml2 the document MUST be loaded with + * following global settings: * * xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; * xmlSubstituteEntitiesDefault(1); @@ -59,7 +59,7 @@ extern "C" { * */ typedef enum { - XML_C14N_1_0 = 0, /* Origianal C14N 1.0 spec */ + XML_C14N_1_0 = 0, /* Original C14N 1.0 spec */ XML_C14N_EXCLUSIVE_1_0 = 1, /* Exclusive C14N 1.0 spec */ XML_C14N_1_1 = 2 /* C14N 1.1 spec */ } xmlC14NMode; @@ -96,7 +96,7 @@ XMLPUBFUN int XMLCALL /** * xmlC14NIsVisibleCallback: * @user_data: user data - * @node: the curent node + * @node: the current node * @parent: the parent node * * Signature for a C14N callback on visible nodes diff --git a/include/libxml/catalog.h b/include/libxml/catalog.h index 5a13f51b..26b178db 100644 --- a/include/libxml/catalog.h +++ b/include/libxml/catalog.h @@ -39,7 +39,7 @@ extern "C" { /** * XML_CATALOG_PI: * - * The specific XML Catalog Processing Instuction name. + * The specific XML Catalog Processing Instruction name. */ #define XML_CATALOG_PI \ (const xmlChar *) "oasis-xml-catalog" diff --git a/include/libxml/dict.h b/include/libxml/dict.h index b83db59a..cf54af1f 100644 --- a/include/libxml/dict.h +++ b/include/libxml/dict.h @@ -11,25 +11,18 @@ #ifndef __XML_DICT_H__ #define __XML_DICT_H__ +#include <stddef.h> +#include <libxml/xmlversion.h> + #ifdef __cplusplus -#define __XML_EXTERNC extern "C" -#else -#define __XML_EXTERNC +extern "C" { #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> - -#ifdef __cplusplus -extern "C" { -#endif +typedef struct _xmlDict xmlDict; +typedef xmlDict *xmlDictPtr; /* * Initializer diff --git a/include/libxml/hash.h b/include/libxml/hash.h index 6352874e..b682b6b9 100644 --- a/include/libxml/hash.h +++ b/include/libxml/hash.h @@ -80,7 +80,7 @@ typedef void *(*xmlHashCopier)(void *payload, const xmlChar *name); /** * xmlHashScanner: * @payload: the data in the hash - * @data: extra scannner data + * @data: extra scanner data * @name: the name associated * * Callback when scanning data in a hash with the simple scanner. @@ -89,7 +89,7 @@ typedef void (*xmlHashScanner)(void *payload, void *data, const xmlChar *name); /** * xmlHashScannerFull: * @payload: the data in the hash - * @data: extra scannner data + * @data: extra scanner data * @name: the name associated * @name2: the second name associated * @name3: the third name associated diff --git a/include/libxml/parser.h b/include/libxml/parser.h index 47fbec03..3020b20c 100644 --- a/include/libxml/parser.h +++ b/include/libxml/parser.h @@ -79,7 +79,7 @@ struct _xmlParserInput { /** * xmlParserNodeInfo: * - * The parser can be asked to collect Node informations, i.e. at what + * The parser can be asked to collect Node information, i.e. at what * place in the file they were detected. * NOTE: This is off by default and not very well tested. */ @@ -283,11 +283,11 @@ struct _xmlParserCtxt { void * *pushTab; /* array of data for push */ xmlHashTablePtr attsDefault; /* defaulted attributes if any */ xmlHashTablePtr attsSpecial; /* non-CDATA attributes if any */ - int nsWellFormed; /* is the document XML Nanespace okay */ + int nsWellFormed; /* is the document XML Namespace okay */ int options; /* Extra options */ /* - * Those fields are needed only for treaming parsing so far + * Those fields are needed only for streaming parsing so far */ int dictNames; /* Use dictionary names for the tree */ int freeElemsNr; /* number of freed element nodes */ @@ -296,7 +296,7 @@ struct _xmlParserCtxt { xmlAttrPtr freeAttrs; /* List of freed attributes nodes */ /* - * the complete error informations for the last error. + * the complete error information for the last error. */ xmlError lastError; xmlParserMode parseMode; /* the parser mode */ @@ -329,7 +329,7 @@ struct _xmlSAXLocator { * xmlSAXHandler: * * A SAX handler is bunch of callbacks called by the parser when processing - * of the input generate data or structure informations. + * of the input generate data or structure information. */ /** @@ -685,7 +685,7 @@ typedef int (*hasExternalSubsetSAXFunc) (void *ctx); * attribute values. * * SAX2 callback when an element start has been detected by the parser. - * It provides the namespace informations for the element, as well as + * It provides the namespace information for the element, as well as * the new namespace declarations on the element. */ @@ -707,7 +707,7 @@ typedef void (*startElementNsSAX2Func) (void *ctx, * @URI: the element namespace name if available * * SAX2 callback when an element end has been detected by the parser. - * It provides the namespace informations for the element. + * It provides the namespace information for the element. */ typedef void (*endElementNsSAX2Func) (void *ctx, @@ -1097,7 +1097,7 @@ typedef enum { XML_PARSE_PEDANTIC = 1<<7, /* pedantic error reporting */ XML_PARSE_NOBLANKS = 1<<8, /* remove blank nodes */ XML_PARSE_SAX1 = 1<<9, /* use the SAX1 interface internally */ - XML_PARSE_XINCLUDE = 1<<10,/* Implement XInclude substitition */ + XML_PARSE_XINCLUDE = 1<<10,/* Implement XInclude substitution */ XML_PARSE_NONET = 1<<11,/* Forbid network access */ XML_PARSE_NODICT = 1<<12,/* Do not reuse the context dictionary */ XML_PARSE_NSCLEAN = 1<<13,/* remove redundant namespaces declarations */ @@ -1191,7 +1191,7 @@ XMLPUBFUN xmlDocPtr XMLCALL /** * xmlFeature: * - * Used to examine the existance of features that can be enabled + * Used to examine the existence of features that can be enabled * or disabled at compile-time. * They used to be called XML_FEATURE_xxx but this clashed with Expat */ diff --git a/include/libxml/parserInternals.h b/include/libxml/parserInternals.h index f30fc687..1f26ce20 100644 --- a/include/libxml/parserInternals.h +++ b/include/libxml/parserInternals.h @@ -43,7 +43,7 @@ XMLPUBVAR unsigned int xmlParserMaxDepth; /** * XML_MAX_NAME_LENGTH: * - * Maximum size allowed for a markup identitier + * Maximum size allowed for a markup identifier. * This is not a limitation of the parser but a safety boundary feature, * use XML_PARSE_HUGE option to override it. * Note that with the use of parsing dictionaries overriding the limit diff --git a/include/libxml/schemasInternals.h b/include/libxml/schemasInternals.h index 6fb71139..c521d1c1 100644 --- a/include/libxml/schemasInternals.h +++ b/include/libxml/schemasInternals.h @@ -321,13 +321,13 @@ struct _xmlSchemaWildcard { /** * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED: * - * The attribute wildcard has been already builded. + * The attribute wildcard has been built. */ #define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0 /** * XML_SCHEMAS_ATTRGROUP_GLOBAL: * - * The attribute wildcard has been already builded. + * The attribute group has been defined. */ #define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1 /** @@ -725,7 +725,7 @@ struct _xmlSchemaType { /** * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION: * - * disallowed substitutions: "substituion" + * disallowed substitutions: "substitution" */ #define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION 1 << 13 /** @@ -789,7 +789,7 @@ struct _xmlSchemaElement { xmlRegexpPtr contModel; /* Obsolete for WXS, maybe used for RelaxNG */ xmlSchemaContentType contentType; const xmlChar *refPrefix; /* Deprecated; not used */ - xmlSchemaValPtr defVal; /* The compiled value contraint. */ + xmlSchemaValPtr defVal; /* The compiled value constraint. */ void *idcs; /* The identity-constraint defs */ }; @@ -881,7 +881,7 @@ struct _xmlSchemaNotation { /** * XML_SCHEMAS_FINAL_DEFAULT_LIST: * - * the cshema has "list" in the set of finalDefault. + * the schema has "list" in the set of finalDefault. */ #define XML_SCHEMAS_FINAL_DEFAULT_LIST 1 << 4 /** @@ -942,7 +942,7 @@ struct _xmlSchema { xmlDictPtr dict; void *includes; /* the includes, this is opaque for now */ int preserve; /* whether to free the document */ - int counter; /* used to give ononymous components unique names */ + int counter; /* used to give anonymous components unique names */ xmlHashTablePtr idcDef; /* All identity-constraint defs. */ void *volatiles; /* Obsolete */ }; diff --git a/include/libxml/tree.h b/include/libxml/tree.h index 626ed6ae..1e79be92 100644 --- a/include/libxml/tree.h +++ b/include/libxml/tree.h @@ -443,7 +443,7 @@ struct _xmlAttr { struct _xmlDoc *doc; /* the containing document */ xmlNs *ns; /* pointer to the associated namespace */ xmlAttributeType atype; /* the attribute type if validating */ - void *psvi; /* for type/PSVI informations */ + void *psvi; /* for type/PSVI information */ }; /** @@ -502,7 +502,7 @@ struct _xmlNode { xmlChar *content; /* the content */ struct _xmlAttr *properties;/* properties list */ xmlNs *nsDef; /* namespace definitions on this node */ - void *psvi; /* for type/PSVI informations */ + void *psvi; /* for type/PSVI information */ unsigned short line; /* line number */ unsigned short extra; /* extra data for XPath/XSLT */ }; @@ -527,7 +527,7 @@ struct _xmlNode { * xmlDocProperty * * Set of properties of the document as found by the parser - * Some of them are linked to similary named xmlParserOption + * Some of them are linked to similarly named xmlParserOption */ typedef enum { XML_DOC_WELLFORMED = 1<<0, /* document is XML well formed */ @@ -578,7 +578,7 @@ struct _xmlDoc { int charset; /* Internal flag for charset handling, actually an xmlCharEncoding */ struct _xmlDict *dict; /* dict used to allocate names or NULL */ - void *psvi; /* for type/PSVI informations */ + void *psvi; /* for type/PSVI information */ int parseFlags; /* set of xmlParserOption used to parse the document */ int properties; /* set of xmlDocProperties for this document diff --git a/include/libxml/xlink.h b/include/libxml/xlink.h index a209a997..04e4b32c 100644 --- a/include/libxml/xlink.h +++ b/include/libxml/xlink.h @@ -26,7 +26,7 @@ extern "C" { * of namespaces. If "foo" is the prefix for "http://foo.com/" * then the link detection layer will expand role="foo:myrole" * to "http://foo.com/:myrole". - * NOTE: the link detection layer will expand URI-Refences found on + * NOTE: the link detection layer will expand URI-References found on * href attributes by using the base mechanism if found. */ typedef xmlChar *xlinkHRef; diff --git a/include/libxml/xmlIO.h b/include/libxml/xmlIO.h index 3e41744d..095b2f56 100644 --- a/include/libxml/xmlIO.h +++ b/include/libxml/xmlIO.h @@ -27,7 +27,7 @@ extern "C" { * @filename: the filename or URI * * Callback used in the I/O Input API to detect if the current handler - * can provide input fonctionnalities for this resource. + * can provide input functionality for this resource. * * Returns 1 if yes and 0 if another Input module should be used */ @@ -73,7 +73,7 @@ typedef int (XMLCALL *xmlInputCloseCallback) (void * context); * @filename: the filename or URI * * Callback used in the I/O Output API to detect if the current handler - * can provide output fonctionnalities for this resource. + * can provide output functionality for this resource. * * Returns 1 if yes and 0 if another Output module should be used */ @@ -217,6 +217,8 @@ xmlParserInputBufferPtr */ XMLPUBFUN void XMLCALL xmlCleanupOutputCallbacks (void); +XMLPUBFUN int XMLCALL + xmlPopOutputCallbacks (void); XMLPUBFUN void XMLCALL xmlRegisterDefaultOutputCallbacks(void); XMLPUBFUN xmlOutputBufferPtr XMLCALL diff --git a/include/libxml/xmlerror.h b/include/libxml/xmlerror.h index 037c16d5..c1019971 100644 --- a/include/libxml/xmlerror.h +++ b/include/libxml/xmlerror.h @@ -837,7 +837,7 @@ typedef enum { * xmlGenericErrorFunc: * @ctx: a parsing context * @msg: the message - * @...: the extra arguments of the varags to format the message + * @...: the extra arguments of the varargs to format the message * * Signature of the function to use when there is an error and * no parsing or validity context available . diff --git a/include/libxml/xmlexports.h b/include/libxml/xmlexports.h index 31ab8a10..f03af0d0 100644 --- a/include/libxml/xmlexports.h +++ b/include/libxml/xmlexports.h @@ -73,9 +73,6 @@ #define XMLCALL __cdecl #endif #define XMLCDECL __cdecl - #if !defined _REENTRANT - #define _REENTRANT - #endif #endif /* Windows platform with Borland compiler */ @@ -97,9 +94,6 @@ #endif #define XMLCALL __cdecl #define XMLCDECL __cdecl - #if !defined _REENTRANT - #define _REENTRANT - #endif #endif /* Windows platform with GNU compiler (Mingw) */ @@ -126,9 +120,6 @@ #endif #define XMLCALL __cdecl #define XMLCDECL __cdecl - #if !defined _REENTRANT - #define _REENTRANT - #endif #endif /* Cygwin platform (does not define _WIN32), GNU compiler */ diff --git a/include/libxml/xmlschemas.h b/include/libxml/xmlschemas.h index 97930c7c..b90e9d18 100644 --- a/include/libxml/xmlschemas.h +++ b/include/libxml/xmlschemas.h @@ -122,7 +122,7 @@ typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr; * @line: returned line information * * A schemas validation locator, a callback called by the validator. - * This is used when file or node informations are not available + * This is used when file or node information are not available * to find out what file and line number are affected * * Returns: 0 in case of success and -1 in case of error diff --git a/include/libxml/xmlversion.h.in b/include/libxml/xmlversion.h.in index d10f9754..c995fe51 100644 --- a/include/libxml/xmlversion.h.in +++ b/include/libxml/xmlversion.h.in @@ -1,6 +1,6 @@ /* - * Summary: compile-time version informations - * Description: compile-time version informations for the XML library + * Summary: compile-time version information + * Description: compile-time version information for the XML library * * Copy: See Copyright for the status of this software. * @@ -91,11 +91,8 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version); * Whether the thread support is configured in */ #if @WITH_THREADS@ -#if defined(_REENTRANT) || defined(__MT__) || \ - (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 >= 199506L)) #define LIBXML_THREAD_ENABLED #endif -#endif /** * LIBXML_THREAD_ALLOC_ENABLED: @@ -353,8 +350,10 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version); * LIBXML_EXPR_ENABLED: * * Whether the formal expressions interfaces are compiled in + * + * This code is unused and disabled unconditionally for now. */ -#if @WITH_SCHEMAS@ +#if 0 #define LIBXML_EXPR_ENABLED #endif diff --git a/include/libxml/xmlwin32version.h b/include/libxml/xmlwin32version.h index e0f2b389..c6bc8b83 100644 --- a/include/libxml/xmlwin32version.h +++ b/include/libxml/xmlwin32version.h @@ -1,6 +1,6 @@ /* - * Summary: compile-time version informations on Windows - * Description: compile-time version informations for the XML library + * Summary: compile-time version information on Windows + * Description: compile-time version information for the XML library * when compiled on the Windows platform * * Copy: See Copyright for the status of this software. diff --git a/include/libxml/xmlwin32version.h.in b/include/libxml/xmlwin32version.h.in index 2176ad11..90e97ef5 100644 --- a/include/libxml/xmlwin32version.h.in +++ b/include/libxml/xmlwin32version.h.in @@ -1,6 +1,6 @@ /* - * Summary: compile-time version informations on Windows - * Description: compile-time version informations for the XML library + * Summary: compile-time version information on Windows + * Description: compile-time version information for the XML library * when compiled on the Windows platform * * Copy: See Copyright for the status of this software. diff --git a/include/libxml/xpath.h b/include/libxml/xpath.h index d96776c5..a4303ff1 100644 --- a/include/libxml/xpath.h +++ b/include/libxml/xpath.h @@ -70,7 +70,9 @@ typedef enum { XPATH_INVALID_CHAR_ERROR, XPATH_INVALID_CTXT, XPATH_STACK_ERROR, - XPATH_FORBID_VARIABLE_ERROR + XPATH_FORBID_VARIABLE_ERROR, + XPATH_OP_LIMIT_EXCEEDED, + XPATH_RECURSION_LIMIT_EXCEEDED } xmlXPathError; /* @@ -82,7 +84,7 @@ struct _xmlNodeSet { int nodeNr; /* number of nodes in the set */ int nodeMax; /* size of the array as allocated */ xmlNodePtr *nodeTab; /* array of nodes in no particular order */ - /* @@ with_ns to check wether namespace nodes should be looked at @@ */ + /* @@ with_ns to check whether namespace nodes should be looked at @@ */ }; /* @@ -352,6 +354,13 @@ struct _xmlXPathContext { /* Cache for reusal of XPath objects */ void *cache; + + /* Resource limits */ + unsigned long opLimit; + unsigned long opCount; + int depth; + int maxDepth; + int maxParserDepth; }; /* @@ -364,7 +373,7 @@ typedef xmlXPathCompExpr *xmlXPathCompExprPtr; /** * xmlXPathParserContext: * - * An XPath parser context. It contains pure parsing informations, + * An XPath parser context. It contains pure parsing information, * an xmlXPathContext, and the stack of objects. */ struct _xmlXPathParserContext { diff --git a/include/win32config.h b/include/win32config.h index 7fc74031..54392f49 100644 --- a/include/win32config.h +++ b/include/win32config.h @@ -38,7 +38,7 @@ #if defined(_MSC_VER) || defined(__BORLANDC__) /* MS C-runtime has functions which can be used in order to determine if a given floating-point variable contains NaN, (+-)INF. These are - preferred, because floating-point technology is considered propriatary + preferred, because floating-point technology is considered proprietary by MS and we can assume that their functions know more about their oddities than we do. */ #include <float.h> diff --git a/include/wsockcompat.h b/include/wsockcompat.h index 0484ee36..e57ca8ec 100644 --- a/include/wsockcompat.h +++ b/include/wsockcompat.h @@ -11,6 +11,11 @@ #include <errno.h> #include <winsock2.h> +/* Fix for old MinGW. */ +#ifndef _WINSOCKAPI_ +#define _WINSOCKAPI_ +#endif + /* the following is a workaround a problem for 'inline' keyword in said header when compiled with Borland C++ 6 */ #if defined(__BORLANDC__) && !defined(__cplusplus) @@ -34,7 +34,7 @@ /* * Currently supported platforms use either autoconf or * copy to config.h own "preset" configuration file. - * As result ifdef HAVE_CONFIG_H is omited here. + * As result ifdef HAVE_CONFIG_H is omitted here. */ #include "config.h" #include <libxml/xmlversion.h> @@ -53,7 +53,7 @@ int vfprintf(FILE *, const char *, va_list); /** * TRIO_REPLACE_STDIO: * - * This macro is defined if teh trio string formatting functions are to + * This macro is defined if the trio string formatting functions are to * be used instead of the default stdio ones. */ #define TRIO_REPLACE_STDIO @@ -72,6 +72,13 @@ int vfprintf(FILE *, const char *, va_list); #define XML_POP_WARNINGS #endif +#if defined(__clang__) || \ + (defined(__GNUC__) && (__GNUC__ >= 8)) +#define ATTRIBUTE_NO_SANITIZE(arg) __attribute__((no_sanitize(arg))) +#else +#define ATTRIBUTE_NO_SANITIZE(arg) +#endif + /* * Internal variable indicating if a callback has been registered for * node creation/destruction. It avoids spending a lot of time in locking @@ -79,7 +86,7 @@ int vfprintf(FILE *, const char *, va_list); */ extern int __xmlRegisterCallbacks; /* - * internal error reporting routines, shared but not partof the API. + * internal error reporting routines, shared but not part of the API. */ void __xmlIOErr(int domain, int code, const char *extra); void __xmlLoaderErr(void *ctx, const char *msg, const char *filename) LIBXML_ATTR_FORMAT(2,0); @@ -128,7 +128,7 @@ main() printf("*** being found. The easiest way to fix this is to remove the old version\n"); printf("*** of LIBXML, but you can also set the XML2_CONFIG environment to point to the\n"); printf("*** correct copy of xml2-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); + printf("*** modify your LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf\n"); printf("*** so that the correct libraries are found at run-time))\n"); } return 1; diff --git a/libxml.spec.in b/libxml.spec.in index d5f5ccbb..11c29ea4 100644 --- a/libxml.spec.in +++ b/libxml.spec.in @@ -128,7 +128,8 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libxml2-python-%{version}/* gzip -9 -c doc/libxml2-api.xml > doc/libxml2-api.xml.gz %check -make runtests +#disabling python tests from rpm build as broken in Fedora 30 +make PYTHON_SUBDIR="" runtests %clean rm -fr %{buildroot} diff --git a/libxml2-config.cmake.cmake.in b/libxml2-config.cmake.cmake.in new file mode 100644 index 00000000..6e6fc7ab --- /dev/null +++ b/libxml2-config.cmake.cmake.in @@ -0,0 +1,100 @@ +# libxml2-config.cmake +# -------------------- +# +# Libxml2 cmake module. +# THis module sets the following variables: +# +# :: +# +# LIBXML2_INCLUDE_DIRS - Directory where libxml2 headers are located. +# LIBXML2_LIBRARIES - xml2 libraries to link against. +# LIBXML2_VERSION_MAJOR - The major version of libxml2. +# LIBXML2_VERSION_MINOR - The minor version of libxml2. +# LIBXML2_VERSION_PATCH - The patch version of libxml2. +# LIBXML2_VERSION_STRING - version number as a string (ex: "2.3.4") +# LIBXML2_MODULES - whether libxml2 has dso support + +include("${CMAKE_CURRENT_LIST_DIR}/libxml2-export.cmake") + +@PACKAGE_INIT@ + +set(LIBXML2_VERSION_MAJOR @LIBXML_MAJOR_VERSION@) +set(LIBXML2_VERSION_MINOR @LIBXML_MINOR_VERSION@) +set(LIBXML2_VERSION_PATCH @LIBXML_MICRO_VERSION@) +set(LIBXML2_VERSION_STRING "@VERSION@") +set(LIBXML2_INSTALL_PREFIX ${PACKAGE_PREFIX_DIR}) +set(LIBXML2_INCLUDE_DIRS ${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@ ${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@/libxml2) +set(LIBXML2_LIBRARY_DIR ${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@) + +macro(select_library_location target basename) + foreach(property IN ITEMS IMPORTED_LOCATION IMPORTED_IMPLIB) + get_target_property(${basename}_${property}_DEBUG ${target} ${property}_DEBUG) + get_target_property(${basename}_${property}_MINSIZEREL ${target} ${property}_MINSIZEREL) + get_target_property(${basename}_${property}_RELEASE ${target} ${property}_RELEASE) + get_target_property(${basename}_${property}_RELWITHDEBINFO ${target} ${property}_RELWITHDEBINFO) + + if(${basename}_${property}_DEBUG AND ${basename}_${property}_RELEASE) + set(${basename}_LIBRARIES debug ${${basename}_${property}_DEBUG} optimized ${${basename}_${property}_RELEASE}) + elseif(${basename}_${property}_DEBUG AND ${basename}_${property}_RELWITHDEBINFO) + set(${basename}_LIBRARIES debug ${${basename}_${property}_DEBUG} optimized ${${basename}_${property}_RELWITHDEBINFO}) + elseif(${basename}_${property}_DEBUG AND ${basename}_${property}_MINSIZEREL) + set(${basename}_LIBRARIES debug ${${basename}_${property}_DEBUG} optimized ${${basename}_${property}_MINSIZEREL}) + elseif(${basename}_${property}_RELEASE) + set(${basename}_LIBRARIES ${${basename}_${property}_RELEASE}) + elseif(${basename}_${property}_RELWITHDEBINFO) + set(${basename}_LIBRARIES ${${basename}_${property}_RELWITHDEBINFO}) + elseif(${basename}_${property}_MINSIZEREL) + set(${basename}_LIBRARIES ${${basename}_${property}_MINSIZEREL}) + elseif(${basename}_${property}_DEBUG) + set(${basename}_LIBRARIES ${${basename}_${property}_DEBUG}) + endif() + endforeach() +endmacro() + +select_library_location(LibXml2::LibXml2 LIBXML2) + +include(CMakeFindDependencyMacro) + +if(@LIBXML2_WITH_ICONV@) + find_dependency(Iconv) + list(APPEND LIBXML2_LIBRARIES ${Iconv_LIBRARIES}) + list(APPEND LIBXML2_INCLUDE_DIRS ${Iconv_INCLUDE_DIRS}) +endif() + +if(NOT @BUILD_SHARED_LIBS@) + if(@LIBXML2_WITH_THREADS@) + find_dependency(Threads) + list(APPEND LIBXML2_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) + endif() + + if(@LIBXML2_WITH_ICU@) + find_dependency(ICU) + list(APPEND LIBXML2_LIBRARIES ${ICU_LIBRARIES}) + list(APPEND LIBXML2_INCLUDE_DIRS ${ICU_INCLUDE_DIRS}) + endif() + + if(@LIBXML2_WITH_LZMA@) + find_dependency(LibLZMA) + list(APPEND LIBXML2_LIBRARIES ${LIBLZMA_LIBRARIES}) + list(APPEND LIBXML2_INCLUDE_DIRS ${LIBLZMA_INCLUDE_DIRS}) + endif() + + if(@LIBXML2_WITH_ZLIB@) + find_dependency(ZLIB) + list(APPEND LIBXML2_LIBRARIES ${ZLIB_LIBRARIES}) + list(APPEND LIBXML2_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS}) + endif() + + if(UNIX) + list(APPEND LIBXML2_LIBRARIES m) + endif() + + if(WIN32) + list(APPEND LIBXML2_LIBRARIES ws2_32) + endif() +endif() + +# whether libxml2 has dso support +set(LIBXML2_MODULES @LIBXML2_WITH_MODULES@) + +mark_as_advanced( LIBXML2_INCLUDE_DIRS LIBXML2_LIBRARIES ) diff --git a/libxml2.syms b/libxml2.syms index 9889cb20..33bc112c 100644 --- a/libxml2.syms +++ b/libxml2.syms @@ -2070,27 +2070,27 @@ LIBXML2_2.6.21 { xmlAutomataNewNegTrans; # xmlregexp - emptyExp; # variable - forbiddenExp; # variable - xmlExpCtxtNbCons; - xmlExpCtxtNbNodes; - xmlExpDump; - xmlExpExpDerive; - xmlExpFreeCtxt; - xmlExpFree; - xmlExpGetLanguage; - xmlExpGetStart; - xmlExpIsNillable; - xmlExpMaxToken; - xmlExpNewAtom; - xmlExpNewCtxt; - xmlExpNewOr; - xmlExpNewRange; - xmlExpNewSeq; - xmlExpParse; - xmlExpRef; - xmlExpStringDerive; - xmlExpSubsume; +# emptyExp; removed in 2.9.10 +# forbiddenExp; removed in 2.9.10 +# xmlExpCtxtNbCons; removed in 2.9.10 +# xmlExpCtxtNbNodes; removed in 2.9.10 +# xmlExpDump; removed in 2.9.10 +# xmlExpExpDerive; removed in 2.9.10 +# xmlExpFreeCtxt; removed in 2.9.10 +# xmlExpFree; removed in 2.9.10 +# xmlExpGetLanguage; removed in 2.9.10 +# xmlExpGetStart; removed in 2.9.10 +# xmlExpIsNillable; removed in 2.9.10 +# xmlExpMaxToken; removed in 2.9.10 +# xmlExpNewAtom; removed in 2.9.10 +# xmlExpNewCtxt; removed in 2.9.10 +# xmlExpNewOr; removed in 2.9.10 +# xmlExpNewRange; removed in 2.9.10 +# xmlExpNewSeq; removed in 2.9.10 +# xmlExpParse; removed in 2.9.10 +# xmlExpRef; removed in 2.9.10 +# xmlExpStringDerive; removed in 2.9.10 +# xmlExpSubsume; removed in 2.9.10 # parser xmlHasFeature; @@ -2286,3 +2286,10 @@ LIBXML2_2.9.8 { xmlHashDefaultDeallocator; } LIBXML2_2.9.1; +LIBXML2_2.9.11 { + global: + +# xmlIO + xmlPopOutputCallbacks; +} LIBXML2_2.9.8; + @@ -9,7 +9,7 @@ * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF - * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. * * Author: Gary.Pennington@uk.sun.com @@ -158,7 +158,7 @@ int have_ipv6(void) { /** * xmlFTPErrMemory: - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -172,7 +172,7 @@ xmlFTPErrMemory(const char *extra) * xmlNanoFTPInit: * * Initialize the FTP protocol layer. - * Currently it just checks for proxy informations, + * Currently it just checks for proxy information, * and get the hostname */ @@ -218,7 +218,7 @@ xmlNanoFTPInit(void) { /** * xmlNanoFTPCleanup: * - * Cleanup the FTP protocol layer. This cleanup proxy informations. + * Cleanup the FTP protocol layer. This cleanup proxy information. */ void @@ -250,7 +250,7 @@ xmlNanoFTPCleanup(void) { * @passwd: the proxy password * @type: the type of proxy 1 for using SITE, 2 for USER a@b * - * Setup the FTP proxy informations. + * Setup the FTP proxy information. * This can also be done by using ftp_proxy ftp_proxy_user and * ftp_proxy_password environment variables. */ @@ -412,7 +412,7 @@ xmlNanoFTPUpdateURL(void *ctx, const char *URL) { * (Re)Initialize the FTP Proxy context by parsing the URL and finding * the protocol host port it indicates. * Should be like ftp://myproxy/ or ftp://myproxy:3128/ - * A NULL URL cleans up proxy informations. + * A NULL URL cleans up proxy information. */ void @@ -1251,8 +1251,7 @@ xmlNanoFTPConnectTo(const char *server, int port) { xmlNanoFTPFreeCtxt(ctxt); return(NULL); } - if (port != 0) - ctxt->port = port; + ctxt->port = port; res = xmlNanoFTPConnect(ctxt); if (res < 0) { xmlNanoFTPFreeCtxt(ctxt); @@ -1268,7 +1267,7 @@ xmlNanoFTPConnectTo(const char *server, int port) { * * Tries to change the remote directory * - * Returns -1 incase of error, 1 if CWD worked, 0 if it failed + * Returns -1 in case of error, 1 if CWD worked, 0 if it failed */ int @@ -1317,7 +1316,7 @@ xmlNanoFTPCwd(void *ctx, const char *directory) { * * Tries to delete an item (file or directory) from server * - * Returns -1 incase of error, 1 if DELE worked, 0 if it failed + * Returns -1 in case of error, 1 if DELE worked, 0 if it failed */ int @@ -1367,7 +1366,7 @@ xmlNanoFTPDele(void *ctx, const char *file) { * Try to open a data connection to the server. Currently only * passive mode is supported. * - * Returns -1 incase of error, 0 otherwise + * Returns -1 in case of error, 0 otherwise */ SOCKET @@ -1540,7 +1539,7 @@ xmlNanoFTPGetConnection(void *ctx) { * * Close the data connection from the server * - * Returns -1 incase of error, 0 otherwise + * Returns -1 in case of error, 0 otherwise */ int @@ -1591,7 +1590,7 @@ xmlNanoFTPCloseConnection(void *ctx) { * * Parse at most one entry from the listing. * - * Returns -1 incase of error, the length of data parsed otherwise + * Returns -1 in case of error, the length of data parsed otherwise */ static int @@ -1719,7 +1718,7 @@ xmlNanoFTPParseList(const char *list, ftpListCallback callback, void *userData) * Do a listing on the server. All files info are passed back * in the callbacks. * - * Returns -1 incase of error, 0 otherwise + * Returns -1 in case of error, 0 otherwise */ int @@ -1894,7 +1893,7 @@ xmlNanoFTPGetSocket(void *ctx, const char *filename) { * Fetch the given file from the server. All data are passed back * in the callbacks. The last callback has a size of 0 block. * - * Returns -1 incase of error, 0 otherwise + * Returns -1 in case of error, 0 otherwise */ int @@ -2024,7 +2023,7 @@ xmlNanoFTPOpen(const char *URL) { * * Close the connection and both control and transport * - * Returns -1 incase of error, 0 otherwise + * Returns -1 in case of error, 0 otherwise */ int @@ -160,7 +160,7 @@ static int xmlNanoHTTPFetchContent( void * ctx, char ** ptr, int * len ); /** * xmlHTTPErrMemory: - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -213,7 +213,7 @@ int have_ipv6(void) { * xmlNanoHTTPInit: * * Initialize the HTTP protocol layer. - * Currently it just checks for proxy informations + * Currently it just checks for proxy information */ void @@ -344,7 +344,7 @@ xmlNanoHTTPScanURL(xmlNanoHTTPCtxtPtr ctxt, const char *URL) { * (Re)Initialize the HTTP Proxy context by parsing the URL and finding * the protocol host port it indicates. * Should be like http://myproxy/ or http://myproxy:3128/ - * A NULL URL cleans up proxy informations. + * A NULL URL cleans up proxy information. */ void @@ -650,7 +650,7 @@ xmlNanoHTTPRecv(xmlNanoHTTPCtxtPtr ctxt) * @ctxt: an HTTP context * * Read one line in the HTTP server output, usually for extracting - * the HTTP protocol informations from the answer header. + * the HTTP protocol information from the answer header. * * Returns a newly allocated string with a copy of the line, or NULL * which indicate the end of the input. @@ -693,7 +693,7 @@ xmlNanoHTTPReadLine(xmlNanoHTTPCtxtPtr ctxt) { * @ctxt: an HTTP context * @line: an HTTP header line * - * Try to extract useful informations from the server answer. + * Try to extract useful information from the server answer. * We currently parse and process: * - The HTTP revision/ return code * - The Content-Type, Mime-Type and charset used @@ -1143,12 +1143,12 @@ xmlNanoHTTPConnectHost(const char *host, int port) switch (h_errno) { case HOST_NOT_FOUND: - h_err_txt = "Authoritive host not found"; + h_err_txt = "Authoritative host not found"; break; case TRY_AGAIN: h_err_txt = - "Non-authoritive host not found or server failure."; + "Non-authoritative host not found or server failure."; break; case NO_RECOVERY: @@ -1625,7 +1625,7 @@ xmlNanoHTTPMethod(const char *URL, const char *method, const char *input, * This function try to fetch the indicated resource via HTTP GET * and save it's content in the file. * - * Returns -1 in case of failure, 0 incase of success. The contentType, + * Returns -1 in case of failure, 0 in case of success. The contentType, * if provided must be freed by the caller */ int @@ -1675,7 +1675,7 @@ xmlNanoHTTPFetch(const char *URL, const char *filename, char **contentType) { * This function saves the output of the HTTP transaction to a file * It closes and free the context at the end * - * Returns -1 in case of failure, 0 incase of success. + * Returns -1 in case of failure, 0 in case of success. */ int xmlNanoHTTPSave(void *ctxt, const char *filename) { diff --git a/optim/TOTRY b/optim/TOTRY index 6e11f7e4..5b37b0bb 100644 --- a/optim/TOTRY +++ b/optim/TOTRY @@ -18,6 +18,6 @@ XSLT: - constants at the XPAth level - provide more info on compiled expressions - dependances w.r.t. variables (which ones) - - dependancy on the current node - - dependancy on the current document + - dependency on the current node + - dependency on the current document - do not use _private but other fields in the node structures. diff --git a/os400/iconv/bldcsndfa/ccsid_mibenum.xml b/os400/iconv/bldcsndfa/ccsid_mibenum.xml index 8af38b42..1b924732 100644 --- a/os400/iconv/bldcsndfa/ccsid_mibenum.xml +++ b/os400/iconv/bldcsndfa/ccsid_mibenum.xml @@ -8,7 +8,7 @@ --- Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A. --> <ccsid_mibenum> - <assoc ccsid="0"><!-- Curent job's CCSID. --></assoc> + <assoc ccsid="0"><!-- Current job's CCSID. --></assoc> <assoc ccsid="37" mibenum="2028"><!-- EBCDIC-US --> <alias>EBCDIC</alias> </assoc> diff --git a/os400/libxmlrpg/catalog.rpgle b/os400/libxmlrpg/catalog.rpgle index 1dab819d..698ec5a9 100644 --- a/os400/libxmlrpg/catalog.rpgle +++ b/os400/libxmlrpg/catalog.rpgle @@ -33,7 +33,7 @@ * XML_CATALOG_PI: * - * The specific XML Catalog Processing Instuction name. + * The specific XML Catalog Processing Instruction name. d XML_CATALOG_PI c 'oasis-xml-catalog' diff --git a/os400/libxmlrpg/parser.rpgle b/os400/libxmlrpg/parser.rpgle index fa48d4f3..c6b17a13 100644 --- a/os400/libxmlrpg/parser.rpgle +++ b/os400/libxmlrpg/parser.rpgle @@ -70,7 +70,7 @@ * xmlParserNodeInfo: * - * The parser can be asked to collect Node informations, i.e. at what + * The parser can be asked to collect Node information, i.e. at what * place in the file they were detected. * NOTE: This is off by default and not very well tested. @@ -310,7 +310,7 @@ d freeAttrsNr like(xmlCint) # free attr. nodes d freeAttrs like(xmlAttrPtr) Free attr noes list * - * the complete error informations for the last error. + * the complete error information for the last error. * d lastError likeds(xmlError) d parseMode like(xmlParserMode) The parser mode @@ -342,7 +342,7 @@ * xmlSAXHandler: * * A SAX handler is bunch of callbacks called by the parser when - * processing of the input generate data or structure informations. + * processing of the input generate data or structure information. * resolveEntitySAXFunc: * @ctx: the user data (XML parser context) @@ -700,7 +700,7 @@ * (localname/prefix/URI/value/end) attribute values. * * SAX2 callback when an element start has been detected by the parser. - * It provides the namespace informations for the element, as well as + * It provides the namespace information for the element, as well as * the new namespace declarations on the element. d startElementNsSAX2Func... @@ -714,7 +714,7 @@ * @URI: the element namespace name if available * * SAX2 callback when an element end has been detected by the parser. - * It provides the namespace informations for the element. + * It provides the namespace information for the element. d endElementNsSAX2Func... d s * based(######typedef######) @@ -1367,7 +1367,7 @@ * xmlFeature: * - * Used to examine the existance of features that can be enabled + * Used to examine the existence of features that can be enabled * or disabled at compile-time. * They used to be called XML_FEATURE_xxx but this clashed with Expat diff --git a/os400/libxmlrpg/schemasInternals.rpgle b/os400/libxmlrpg/schemasInternals.rpgle index 765ed007..6429eb2b 100644 --- a/os400/libxmlrpg/schemasInternals.rpgle +++ b/os400/libxmlrpg/schemasInternals.rpgle @@ -429,14 +429,14 @@ * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED: * - * The attribute wildcard has been already builded. + * The attribute wildcard has been already built. d XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED... d c X'0001' * XML_SCHEMAS_ATTRGROUP_GLOBAL: * - * The attribute wildcard has been already builded. + * The attribute wildcard has been already built. d XML_SCHEMAS_ATTRGROUP_GLOBAL... d c X'0002' @@ -885,7 +885,7 @@ * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION: * - * disallowed substitutions: "substituion" + * disallowed substitutions: "substitution" d XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION... d c X'00002000' diff --git a/os400/libxmlrpg/tree.rpgle b/os400/libxmlrpg/tree.rpgle index 6512778c..3e78182c 100644 --- a/os400/libxmlrpg/tree.rpgle +++ b/os400/libxmlrpg/tree.rpgle @@ -519,7 +519,7 @@ * xmlDocProperty * * Set of properties of the document as found by the parser - * Some of them are linked to similary named xmlParserOption + * Some of them are linked to similarly named xmlParserOption d xmlDocProperties... d s based(######typedef######) diff --git a/os400/libxmlrpg/xmlIO.rpgle b/os400/libxmlrpg/xmlIO.rpgle index 6c0afcc9..d0e6f747 100644 --- a/os400/libxmlrpg/xmlIO.rpgle +++ b/os400/libxmlrpg/xmlIO.rpgle @@ -18,7 +18,7 @@ * @filename: the filename or URI * * Callback used in the I/O Input API to detect if the current handler - * can provide input fonctionnalities for this resource. + * can provide input functionalities for this resource. * * Returns 1 if yes and 0 if another Input module should be used @@ -70,7 +70,7 @@ * @filename: the filename or URI * * Callback used in the I/O Output API to detect if the current handler - * can provide output fonctionnalities for this resource. + * can provide output functionalities for this resource. * * Returns 1 if yes and 0 if another Output module should be used diff --git a/os400/libxmlrpg/xmlTypesC.rpgle b/os400/libxmlrpg/xmlTypesC.rpgle index 48a23bfc..3440dc10 100644 --- a/os400/libxmlrpg/xmlTypesC.rpgle +++ b/os400/libxmlrpg/xmlTypesC.rpgle @@ -1,4 +1,4 @@ - * Eqivalent of C data types. + * Equivalent of C data types. * * Copy: See Copyright for the status of this software. * diff --git a/os400/libxmlrpg/xmlexports.rpgle b/os400/libxmlrpg/xmlexports.rpgle index 9a6fd10d..d76ad4bd 100644 --- a/os400/libxmlrpg/xmlexports.rpgle +++ b/os400/libxmlrpg/xmlexports.rpgle @@ -8,7 +8,7 @@ /if not defined(XML_EXPORTS_H__) /define XML_EXPORTS_H__ - * The definition in the original C header file are not appliable to + * The definition in the original C header file are not applicable to * ILE/RPG. * Therefore this file is intentionally empty. diff --git a/os400/libxmlrpg/xmlschemas.rpgle b/os400/libxmlrpg/xmlschemas.rpgle index f34ddcd3..f453bd29 100644 --- a/os400/libxmlrpg/xmlschemas.rpgle +++ b/os400/libxmlrpg/xmlschemas.rpgle @@ -141,7 +141,7 @@ * @line: returned line information * * A schemas validation locator, a callback called by the validator. - * This is used when file or node informations are not available + * This is used when file or node information are not available * to find out what file and line number are affected * * Returns: 0 in case of success and -1 in case of error diff --git a/os400/libxmlrpg/xmlversion.rpgle.in b/os400/libxmlrpg/xmlversion.rpgle.in index 955599e2..94a3910f 100644 --- a/os400/libxmlrpg/xmlversion.rpgle.in +++ b/os400/libxmlrpg/xmlversion.rpgle.in @@ -1,5 +1,5 @@ - * Summary: compile-time version informations - * Description: compile-time version informations for the XML library + * Summary: compile-time version information + * Description: compile-time version information for the XML library * * Copy: See Copyright for the status of this software. * diff --git a/os400/libxmlrpg/xpath.rpgle b/os400/libxmlrpg/xpath.rpgle index 6e591ee4..e1e15d6d 100644 --- a/os400/libxmlrpg/xpath.rpgle +++ b/os400/libxmlrpg/xpath.rpgle @@ -389,7 +389,7 @@ * xmlXPathParserContext: * - * An XPath parser context. It contains pure parsing informations, + * An XPath parser context. It contains pure parsing information, * an xmlXPathContext, and the stack of objects. d xmlXPathParserContext... diff --git a/os400/rpgsupport.c b/os400/rpgsupport.c index ad4cc5dd..a2f2399e 100644 --- a/os400/rpgsupport.c +++ b/os400/rpgsupport.c @@ -19,7 +19,7 @@ /** -*** ILE/RPG cannot directly derefence a pointer and has no macros. +*** ILE/RPG cannot directly dereference a pointer and has no macros. *** The following additional procedures supply these functions. *** In addition, the following code is adjusted for threads control at *** compile time via the C macros. diff --git a/os400/rpgsupport.h b/os400/rpgsupport.h index d8016d72..8e572d45 100644 --- a/os400/rpgsupport.h +++ b/os400/rpgsupport.h @@ -1,5 +1,5 @@ /** -*** Additional delarations for ILE/RPG support. +*** Additional declarations for ILE/RPG support. *** *** See Copyright for the status of this software. *** diff --git a/os400/transcode.c b/os400/transcode.c index bae61872..ea71b15c 100644 --- a/os400/transcode.c +++ b/os400/transcode.c @@ -33,7 +33,7 @@ xmlZapDict(xmlDictPtr * dict) /** *** Support for inline conversion from/to UTF-8. -*** This is targetted to function parameter encoding conversion. +*** This is targeted to function parameter encoding conversion. *** Method is: *** - Convert string from/to UTF-8. *** - Keep it in a dictionary. @@ -96,6 +96,12 @@ xmlCreateEntityParserCtxtInternal(const xmlChar *URL, const xmlChar *ID, static void xmlHaltParser(xmlParserCtxtPtr ctxt); +static int +xmlParseElementStart(xmlParserCtxtPtr ctxt); + +static void +xmlParseElementEnd(xmlParserCtxtPtr ctxt); + /************************************************************************ * * * Arbitrary limits set in the parser. See XML_PARSE_HUGE * @@ -108,7 +114,7 @@ static void xmlHaltParser(xmlParserCtxtPtr ctxt); /* * XML_PARSER_NON_LINEAR is the threshold where the ratio of parsed entity * replacement over the size in byte of the input indicates that you have - * and eponential behaviour. A value of 10 correspond to at least 3 entity + * and exponential behaviour. A value of 10 correspond to at least 3 entity * replacement per byte of input. */ #define XML_PARSER_NON_LINEAR 10 @@ -140,7 +146,7 @@ xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size, if ((ent != NULL) && (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY) && (ent->content != NULL) && (ent->checked == 0) && (ctxt->errNo != XML_ERR_ENTITY_LOOP)) { - unsigned long oldnbent = ctxt->nbentities; + unsigned long oldnbent = ctxt->nbentities, diff; xmlChar *rep; ent->checked = 1; @@ -153,7 +159,10 @@ xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size, ent->content[0] = 0; } - ent->checked = (ctxt->nbentities - oldnbent + 1) * 2; + diff = ctxt->nbentities - oldnbent + 1; + if (diff > INT_MAX / 2) + diff = INT_MAX / 2; + ent->checked = diff * 2; if (rep != NULL) { if (xmlStrchr(rep, '<')) ent->checked |= 1; @@ -1060,7 +1069,7 @@ xmlHasFeature(xmlFeature feature) * xmlDetectSAX2: * @ctxt: an XML parser context * - * Do the SAX2 detection and specific intialization + * Do the SAX2 detection and specific initialization */ static void xmlDetectSAX2(xmlParserCtxtPtr ctxt) { @@ -1392,7 +1401,7 @@ xmlCleanSpecialAttr(xmlParserCtxtPtr ctxt) * [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ * [38] Subcode ::= ([a-z] | [A-Z])+ * - * The current REC reference the sucessors of RFC 1766, currently 5646 + * The current REC reference the successors of RFC 1766, currently 5646 * * http://www.rfc-editor.org/rfc/rfc5646.txt * langtag = language @@ -1819,7 +1828,6 @@ nodePop(xmlParserCtxtPtr ctxt) return (ret); } -#ifdef LIBXML_PUSH_ENABLED /** * nameNsPush: * @ctxt: an XML parser context @@ -1855,6 +1863,11 @@ nameNsPush(xmlParserCtxtPtr ctxt, const xmlChar * value, goto mem_error; } ctxt->pushTab = tmp2; + } else if (ctxt->pushTab == NULL) { + ctxt->pushTab = (void **) xmlMalloc(ctxt->nameMax * 3 * + sizeof(ctxt->pushTab[0])); + if (ctxt->pushTab == NULL) + goto mem_error; } ctxt->nameTab[ctxt->nameNr] = value; ctxt->name = value; @@ -1866,6 +1879,7 @@ mem_error: xmlErrMemory(ctxt, NULL); return (-1); } +#ifdef LIBXML_PUSH_ENABLED /** * nameNsPop: * @ctxt: an XML parser context @@ -2075,11 +2089,11 @@ static void xmlSHRINK (xmlParserCtxtPtr ctxt) { xmlGROW (ctxt); static void xmlGROW (xmlParserCtxtPtr ctxt) { - unsigned long curEnd = ctxt->input->end - ctxt->input->cur; - unsigned long curBase = ctxt->input->cur - ctxt->input->base; + ptrdiff_t curEnd = ctxt->input->end - ctxt->input->cur; + ptrdiff_t curBase = ctxt->input->cur - ctxt->input->base; - if (((curEnd > (unsigned long) XML_MAX_LOOKUP_LIMIT) || - (curBase > (unsigned long) XML_MAX_LOOKUP_LIMIT)) && + if (((curEnd > XML_MAX_LOOKUP_LIMIT) || + (curBase > XML_MAX_LOOKUP_LIMIT)) && ((ctxt->input->buf) && (ctxt->input->buf->readcallback != xmlInputReadCallbackNop)) && ((ctxt->options & XML_PARSE_HUGE) == 0)) { @@ -2142,7 +2156,7 @@ xmlSkipBlankChars(xmlParserCtxtPtr ctxt) { * It's Okay to use CUR/NEXT here since all the blanks are on * the ASCII range. */ - if ((ctxt->inputNr == 1) && (ctxt->instate != XML_PARSER_DTD)) { + if (ctxt->instate != XML_PARSER_DTD) { const xmlChar *cur; /* * if we are in the document content, go really fast @@ -2281,9 +2295,8 @@ xmlPushInput(xmlParserCtxtPtr ctxt, xmlParserInputPtr input) { */ int xmlParseCharRef(xmlParserCtxtPtr ctxt) { - unsigned int val = 0; + int val = 0; int count = 0; - unsigned int outofrange = 0; /* * Using RAW/CUR/NEXT is okay since we are working on ASCII range here @@ -2310,8 +2323,8 @@ xmlParseCharRef(xmlParserCtxtPtr ctxt) { val = 0; break; } - if (val > 0x10FFFF) - outofrange = val; + if (val > 0x110000) + val = 0x110000; NEXT; count++; @@ -2339,8 +2352,8 @@ xmlParseCharRef(xmlParserCtxtPtr ctxt) { val = 0; break; } - if (val > 0x10FFFF) - outofrange = val; + if (val > 0x110000) + val = 0x110000; NEXT; count++; @@ -2360,7 +2373,11 @@ xmlParseCharRef(xmlParserCtxtPtr ctxt) { * Characters referred to using character references must match the * production for Char. */ - if ((IS_CHAR(val) && (outofrange == 0))) { + if (val >= 0x110000) { + xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR, + "xmlParseCharRef: character reference out of bounds\n", + val); + } else if (IS_CHAR(val)) { return(val); } else { xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR, @@ -2392,8 +2409,7 @@ static int xmlParseStringCharRef(xmlParserCtxtPtr ctxt, const xmlChar **str) { const xmlChar *ptr; xmlChar cur; - unsigned int val = 0; - unsigned int outofrange = 0; + int val = 0; if ((str == NULL) || (*str == NULL)) return(0); ptr = *str; @@ -2413,8 +2429,8 @@ xmlParseStringCharRef(xmlParserCtxtPtr ctxt, const xmlChar **str) { val = 0; break; } - if (val > 0x10FFFF) - outofrange = val; + if (val > 0x110000) + val = 0x110000; ptr++; cur = *ptr; @@ -2432,8 +2448,8 @@ xmlParseStringCharRef(xmlParserCtxtPtr ctxt, const xmlChar **str) { val = 0; break; } - if (val > 0x10FFFF) - outofrange = val; + if (val > 0x110000) + val = 0x110000; ptr++; cur = *ptr; @@ -2451,7 +2467,11 @@ xmlParseStringCharRef(xmlParserCtxtPtr ctxt, const xmlChar **str) { * Characters referred to using character references must match the * production for Char. */ - if ((IS_CHAR(val) && (outofrange == 0))) { + if (val >= 0x110000) { + xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR, + "xmlParseStringCharRef: character reference out of bounds\n", + val); + } else if (IS_CHAR(val)) { return(val); } else { xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR, @@ -2626,7 +2646,8 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len, else c = 0; while ((c != 0) && (c != end) && /* non input consuming loop */ - (c != end2) && (c != end3)) { + (c != end2) && (c != end3) && + (ctxt->instate != XML_PARSER_EOF)) { if (c == 0) break; if ((c == '&') && (str[1] == '#')) { @@ -2702,7 +2723,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len, /* * Note: external parsed entities will not be loaded, * it is not required for a non-validating parser to - * complete external PEreferences coming from the + * complete external PEReferences coming from the * internal subset */ if (((ctxt->options & XML_PARSE_NOENT) != 0) || @@ -3366,7 +3387,7 @@ xmlParseNCNameComplex(xmlParserCtxtPtr ctxt) { /* * when shrinking to extend the buffer we really need to preserve * the part of the name we already parsed. Hence rolling back - * by current lenght. + * by current length. */ ctxt->input->cur -= l; GROW; @@ -3835,7 +3856,7 @@ error: * xmlParseAttValueComplex: * @ctxt: an XML parser context * @len: the resulting attribute len - * @normalize: wether to apply the inner normalization + * @normalize: whether to apply the inner normalization * * parse a value for an attribute, this is the fallback function * of xmlParseAttValue() when the attribute parsing requires handling @@ -3891,7 +3912,6 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) { "AttValue length too long\n"); goto mem_error; } - if (c == 0) break; if (c == '&') { in_space = 0; if (NXT(1) == '#') { @@ -3984,14 +4004,17 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) { */ if ((ent->etype != XML_INTERNAL_PREDEFINED_ENTITY) && (ent->content != NULL) && (ent->checked == 0)) { - unsigned long oldnbent = ctxt->nbentities; + unsigned long oldnbent = ctxt->nbentities, diff; ++ctxt->depth; rep = xmlStringDecodeEntities(ctxt, ent->content, XML_SUBSTITUTE_REF, 0, 0, 0); --ctxt->depth; - ent->checked = (ctxt->nbentities - oldnbent + 1) * 2; + diff = ctxt->nbentities - oldnbent + 1; + if (diff > INT_MAX / 2) + diff = INT_MAX / 2; + ent->checked = diff * 2; if (rep != NULL) { if (xmlStrchr(rep, '<')) ent->checked |= 1; @@ -4059,7 +4082,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) { /* * There we potentially risk an overflow, don't allow attribute value of - * length more than INT_MAX it is a very reasonnable assumption ! + * length more than INT_MAX it is a very reasonable assumption ! */ if (len >= INT_MAX) { xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED, @@ -4664,7 +4687,7 @@ xmlParseExternalID(xmlParserCtxtPtr ctxt, xmlChar **publicID, int strict) { * xmlParseCommentComplex: * @ctxt: an XML parser context * @buf: the already parsed part of the buffer - * @len: number of bytes filles in the buffer + * @len: number of bytes in the buffer * @size: allocated size of the buffer * * Skip an XML (SGML) comment <!-- .... --> @@ -4955,6 +4978,10 @@ get_more: } else xmlFatalErrMsgStr(ctxt, XML_ERR_HYPHEN_IN_COMMENT, "Double hyphen within comment\n", NULL); + if (ctxt->instate == XML_PARSER_EOF) { + xmlFree(buf); + return; + } in++; ctxt->input->col++; } @@ -5026,7 +5053,7 @@ xmlParsePITarget(xmlParserCtxtPtr ctxt) { * <?oasis-xml-catalog catalog="http://example.com/catalog.xml"?> * * Occurs only if allowed by the user and if happening in the Misc - * part of the document before any doctype informations + * part of the document before any doctype information * This will add the given catalog to the parsing context in order * to be used if there is a resolution need further down in the document */ @@ -5085,7 +5112,7 @@ error: * * [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>' * - * The processing is transfered to SAX once parsed. + * The processing is transferred to SAX once parsed. */ void @@ -5501,7 +5528,7 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) { literal, URI, NULL); /* * For expat compatibility in SAX mode. - * assuming the entity repalcement was asked for + * assuming the entity replacement was asked for */ if ((ctxt->replaceEntities != 0) && ((ctxt->myDoc == NULL) || @@ -6611,149 +6638,143 @@ xmlParseElementDecl(xmlParserCtxtPtr ctxt) { static void xmlParseConditionalSections(xmlParserCtxtPtr ctxt) { - int id = ctxt->input->id; - - SKIP(3); - SKIP_BLANKS; - if (CMP7(CUR_PTR, 'I', 'N', 'C', 'L', 'U', 'D', 'E')) { - SKIP(7); - SKIP_BLANKS; - if (RAW != '[') { - xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID, NULL); - xmlHaltParser(ctxt); - return; - } else { - if (ctxt->input->id != id) { - xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY, - "All markup of the conditional section is not" - " in the same entity\n"); - } - NEXT; - } - if (xmlParserDebugEntities) { - if ((ctxt->input != NULL) && (ctxt->input->filename)) - xmlGenericError(xmlGenericErrorContext, - "%s(%d): ", ctxt->input->filename, - ctxt->input->line); - xmlGenericError(xmlGenericErrorContext, - "Entering INCLUDE Conditional Section\n"); - } + int *inputIds = NULL; + size_t inputIdsSize = 0; + size_t depth = 0; - SKIP_BLANKS; - GROW; - while (((RAW != 0) && ((RAW != ']') || (NXT(1) != ']') || - (NXT(2) != '>'))) && (ctxt->instate != XML_PARSER_EOF)) { - const xmlChar *check = CUR_PTR; - unsigned int cons = ctxt->input->consumed; - - if ((RAW == '<') && (NXT(1) == '!') && (NXT(2) == '[')) { - xmlParseConditionalSections(ctxt); - } else - xmlParseMarkupDecl(ctxt); + while (ctxt->instate != XML_PARSER_EOF) { + if ((RAW == '<') && (NXT(1) == '!') && (NXT(2) == '[')) { + int id = ctxt->input->id; + SKIP(3); SKIP_BLANKS; - GROW; - if ((CUR_PTR == check) && (cons == ctxt->input->consumed)) { - xmlFatalErr(ctxt, XML_ERR_EXT_SUBSET_NOT_FINISHED, NULL); - xmlHaltParser(ctxt); - break; - } - } - if (xmlParserDebugEntities) { - if ((ctxt->input != NULL) && (ctxt->input->filename)) - xmlGenericError(xmlGenericErrorContext, - "%s(%d): ", ctxt->input->filename, - ctxt->input->line); - xmlGenericError(xmlGenericErrorContext, - "Leaving INCLUDE Conditional Section\n"); - } + if (CMP7(CUR_PTR, 'I', 'N', 'C', 'L', 'U', 'D', 'E')) { + SKIP(7); + SKIP_BLANKS; + if (RAW != '[') { + xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID, NULL); + xmlHaltParser(ctxt); + goto error; + } + if (ctxt->input->id != id) { + xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY, + "All markup of the conditional section is" + " not in the same entity\n"); + } + NEXT; - } else if (CMP6(CUR_PTR, 'I', 'G', 'N', 'O', 'R', 'E')) { - int state; - xmlParserInputState instate; - int depth = 0; + if (inputIdsSize <= depth) { + int *tmp; - SKIP(6); - SKIP_BLANKS; - if (RAW != '[') { - xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID, NULL); - xmlHaltParser(ctxt); - return; - } else { - if (ctxt->input->id != id) { - xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY, - "All markup of the conditional section is not" - " in the same entity\n"); - } - NEXT; - } - if (xmlParserDebugEntities) { - if ((ctxt->input != NULL) && (ctxt->input->filename)) - xmlGenericError(xmlGenericErrorContext, - "%s(%d): ", ctxt->input->filename, - ctxt->input->line); - xmlGenericError(xmlGenericErrorContext, - "Entering IGNORE Conditional Section\n"); - } + inputIdsSize = (inputIdsSize == 0 ? 4 : inputIdsSize * 2); + tmp = (int *) xmlRealloc(inputIds, + inputIdsSize * sizeof(int)); + if (tmp == NULL) { + xmlErrMemory(ctxt, NULL); + goto error; + } + inputIds = tmp; + } + inputIds[depth] = id; + depth++; + } else if (CMP6(CUR_PTR, 'I', 'G', 'N', 'O', 'R', 'E')) { + int state; + xmlParserInputState instate; + size_t ignoreDepth = 0; + + SKIP(6); + SKIP_BLANKS; + if (RAW != '[') { + xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID, NULL); + xmlHaltParser(ctxt); + goto error; + } + if (ctxt->input->id != id) { + xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY, + "All markup of the conditional section is" + " not in the same entity\n"); + } + NEXT; - /* - * Parse up to the end of the conditional section - * But disable SAX event generating DTD building in the meantime - */ - state = ctxt->disableSAX; - instate = ctxt->instate; - if (ctxt->recovery == 0) ctxt->disableSAX = 1; - ctxt->instate = XML_PARSER_IGNORE; + /* + * Parse up to the end of the conditional section but disable + * SAX event generating DTD building in the meantime + */ + state = ctxt->disableSAX; + instate = ctxt->instate; + if (ctxt->recovery == 0) ctxt->disableSAX = 1; + ctxt->instate = XML_PARSER_IGNORE; + + while (RAW != 0) { + if ((RAW == '<') && (NXT(1) == '!') && (NXT(2) == '[')) { + SKIP(3); + ignoreDepth++; + /* Check for integer overflow */ + if (ignoreDepth == 0) { + xmlErrMemory(ctxt, NULL); + goto error; + } + } else if ((RAW == ']') && (NXT(1) == ']') && + (NXT(2) == '>')) { + if (ignoreDepth == 0) + break; + SKIP(3); + ignoreDepth--; + } else { + NEXT; + } + } - while (((depth >= 0) && (RAW != 0)) && - (ctxt->instate != XML_PARSER_EOF)) { - if ((RAW == '<') && (NXT(1) == '!') && (NXT(2) == '[')) { - depth++; - SKIP(3); - continue; - } - if ((RAW == ']') && (NXT(1) == ']') && (NXT(2) == '>')) { - if (--depth >= 0) SKIP(3); - continue; - } - NEXT; - continue; - } + ctxt->disableSAX = state; + ctxt->instate = instate; - ctxt->disableSAX = state; - ctxt->instate = instate; + if (RAW == 0) { + xmlFatalErr(ctxt, XML_ERR_CONDSEC_NOT_FINISHED, NULL); + goto error; + } + if (ctxt->input->id != id) { + xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY, + "All markup of the conditional section is" + " not in the same entity\n"); + } + SKIP(3); + } else { + xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID_KEYWORD, NULL); + xmlHaltParser(ctxt); + goto error; + } + } else if ((depth > 0) && + (RAW == ']') && (NXT(1) == ']') && (NXT(2) == '>')) { + depth--; + if (ctxt->input->id != inputIds[depth]) { + xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY, + "All markup of the conditional section is not" + " in the same entity\n"); + } + SKIP(3); + } else { + const xmlChar *check = CUR_PTR; + unsigned int cons = ctxt->input->consumed; - if (xmlParserDebugEntities) { - if ((ctxt->input != NULL) && (ctxt->input->filename)) - xmlGenericError(xmlGenericErrorContext, - "%s(%d): ", ctxt->input->filename, - ctxt->input->line); - xmlGenericError(xmlGenericErrorContext, - "Leaving IGNORE Conditional Section\n"); - } + xmlParseMarkupDecl(ctxt); - } else { - xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID_KEYWORD, NULL); - xmlHaltParser(ctxt); - return; - } + if ((CUR_PTR == check) && (cons == ctxt->input->consumed)) { + xmlFatalErr(ctxt, XML_ERR_EXT_SUBSET_NOT_FINISHED, NULL); + xmlHaltParser(ctxt); + goto error; + } + } - if (RAW == 0) - SHRINK; + if (depth == 0) + break; - if (RAW == 0) { - xmlFatalErr(ctxt, XML_ERR_CONDSEC_NOT_FINISHED, NULL); - } else { - if (ctxt->input->id != id) { - xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY, - "All markup of the conditional section is not in" - " the same entity\n"); - } - if ((ctxt-> instate != XML_PARSER_EOF) && - ((ctxt->input->cur + 3) <= ctxt->input->end)) - SKIP(3); + SKIP_BLANKS; + GROW; } + +error: + xmlFree(inputIds); } /** @@ -6810,21 +6831,11 @@ xmlParseMarkupDecl(xmlParserCtxtPtr ctxt) { /* * detect requirement to exit there and act accordingly - * and avoid having instate overriden later on + * and avoid having instate overridden later on */ if (ctxt->instate == XML_PARSER_EOF) return; - /* - * Conditional sections are allowed from entities included - * by PE References in the internal subset. - */ - if ((ctxt->external == 0) && (ctxt->inputNr > 1)) { - if ((RAW == '<') && (NXT(1) == '!') && (NXT(2) == '[')) { - xmlParseConditionalSections(ctxt); - } - } - ctxt->instate = XML_PARSER_DTD; } @@ -6841,6 +6852,7 @@ void xmlParseTextDecl(xmlParserCtxtPtr ctxt) { xmlChar *version; const xmlChar *encoding; + int oldstate; /* * We know that '<?xml' is here. @@ -6852,6 +6864,10 @@ xmlParseTextDecl(xmlParserCtxtPtr ctxt) { return; } + /* Avoid expansion of parameter entities when skipping blanks. */ + oldstate = ctxt->instate; + ctxt->instate = XML_PARSER_START; + if (SKIP_BLANKS == 0) { xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED, "Space needed after '<?xml'\n"); @@ -6879,6 +6895,7 @@ xmlParseTextDecl(xmlParserCtxtPtr ctxt) { /* * The XML REC instructs us to stop parsing right here */ + ctxt->instate = oldstate; return; } if ((encoding == NULL) && (ctxt->errNo == XML_ERR_OK)) { @@ -6898,6 +6915,8 @@ xmlParseTextDecl(xmlParserCtxtPtr ctxt) { MOVETO_ENDTAG(CUR_PTR); NEXT; } + + ctxt->instate = oldstate; } /** @@ -7009,7 +7028,7 @@ xmlParseReference(xmlParserCtxtPtr ctxt) { */ if (NXT(1) == '#') { int i = 0; - xmlChar out[10]; + xmlChar out[16]; int hex = NXT(2); int value = xmlParseCharRef(ctxt); @@ -7086,7 +7105,7 @@ xmlParseReference(xmlParserCtxtPtr ctxt) { ((ent->children == NULL) && (ctxt->options & XML_PARSE_NOENT))) && ((ent->etype != XML_EXTERNAL_GENERAL_PARSED_ENTITY) || (ctxt->options & (XML_PARSE_NOENT | XML_PARSE_DTDVALID)))) { - unsigned long oldnbent = ctxt->nbentities; + unsigned long oldnbent = ctxt->nbentities, diff; /* * This is a bit hackish but this seems the best @@ -7127,7 +7146,10 @@ xmlParseReference(xmlParserCtxtPtr ctxt) { * Store the number of entities needing parsing for this entity * content and do checkings */ - ent->checked = (ctxt->nbentities - oldnbent + 1) * 2; + diff = ctxt->nbentities - oldnbent + 1; + if (diff > INT_MAX / 2) + diff = INT_MAX / 2; + ent->checked = diff * 2; if ((ent->content != NULL) && (xmlStrchr(ent->content, '<'))) ent->checked |= 1; if (ret == XML_ERR_ENTITY_LOOP) { @@ -7145,42 +7167,38 @@ xmlParseReference(xmlParserCtxtPtr ctxt) { (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY))&& (ent->children == NULL)) { ent->children = list; - if (ctxt->replaceEntities) { - /* - * Prune it directly in the generated document - * except for single text nodes. - */ - if (((list->type == XML_TEXT_NODE) && - (list->next == NULL)) || - (ctxt->parseMode == XML_PARSE_READER)) { - list->parent = (xmlNodePtr) ent; - list = NULL; - ent->owner = 1; - } else { - ent->owner = 0; - while (list != NULL) { - list->parent = (xmlNodePtr) ctxt->node; - list->doc = ctxt->myDoc; - if (list->next == NULL) - ent->last = list; - list = list->next; - } - list = ent->children; + /* + * Prune it directly in the generated document + * except for single text nodes. + */ + if ((ctxt->replaceEntities == 0) || + (ctxt->parseMode == XML_PARSE_READER) || + ((list->type == XML_TEXT_NODE) && + (list->next == NULL))) { + ent->owner = 1; + while (list != NULL) { + list->parent = (xmlNodePtr) ent; + xmlSetTreeDoc(list, ent->doc); + if (list->next == NULL) + ent->last = list; + list = list->next; + } + list = NULL; + } else { + ent->owner = 0; + while (list != NULL) { + list->parent = (xmlNodePtr) ctxt->node; + list->doc = ctxt->myDoc; + if (list->next == NULL) + ent->last = list; + list = list->next; + } + list = ent->children; #ifdef LIBXML_LEGACY_ENABLED - if (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY) - xmlAddEntityReference(ent, list, NULL); + if (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY) + xmlAddEntityReference(ent, list, NULL); #endif /* LIBXML_LEGACY_ENABLED */ - } - } else { - ent->owner = 1; - while (list != NULL) { - list->parent = (xmlNodePtr) ent; - xmlSetTreeDoc(list, ent->doc); - if (list->next == NULL) - ent->last = list; - list = list->next; - } - } + } } else { xmlFreeNodeList(list); list = NULL; @@ -7675,7 +7693,7 @@ xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar ** str) { } /* - * Increate the number of entity references parsed + * Increase the number of entity references parsed */ ctxt->nbentities++; @@ -7851,7 +7869,7 @@ xmlParsePEReference(xmlParserCtxtPtr ctxt) NEXT; /* - * Increate the number of entity references parsed + * Increase the number of entity references parsed */ ctxt->nbentities++; @@ -8117,7 +8135,7 @@ xmlParseStringPEReference(xmlParserCtxtPtr ctxt, const xmlChar **str) { ptr++; /* - * Increate the number of entity references parsed + * Increase the number of entity references parsed */ ctxt->nbentities++; @@ -8285,6 +8303,15 @@ xmlParseInternalSubset(xmlParserCtxtPtr ctxt) { xmlParseMarkupDecl(ctxt); xmlParsePEReference(ctxt); + /* + * Conditional sections are allowed from external entities included + * by PE References in the internal subset. + */ + if ((ctxt->inputNr > 1) && (ctxt->input->filename != NULL) && + (RAW == '<') && (NXT(1) == '!') && (NXT(2) == '[')) { + xmlParseConditionalSections(ctxt); + } + if ((CUR_PTR == check) && (cons == ctxt->input->consumed)) { xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "xmlParseInternalSubset: error detected in Markup declaration\n"); @@ -8606,7 +8633,7 @@ xmlParseEndTag1(xmlParserCtxtPtr ctxt, int line) { * */ if (name != (xmlChar*)1) { - if (name == NULL) name = BAD_CAST "unparseable"; + if (name == NULL) name = BAD_CAST "unparsable"; xmlFatalErrMsgStrIntStr(ctxt, XML_ERR_TAG_NAME_MISMATCH, "Opening and ending tag mismatch: %s line %d and %s\n", ctxt->name, line, name); @@ -8713,12 +8740,16 @@ xmlParseQName(xmlParserCtxtPtr ctxt, const xmlChar **prefix) { if (l == NULL) { xmlChar *tmp; + if (ctxt->instate == XML_PARSER_EOF) + return(NULL); xmlNsErr(ctxt, XML_NS_ERR_QNAME, "Failed to parse QName '%s:'\n", p, NULL, NULL); l = xmlParseNmtoken(ctxt); - if (l == NULL) + if (l == NULL) { + if (ctxt->instate == XML_PARSER_EOF) + return(NULL); tmp = xmlBuildQName(BAD_CAST "", p, NULL, 0); - else { + } else { tmp = xmlBuildQName(l, p, NULL, 0); xmlFree((char *)l); } @@ -8741,6 +8772,8 @@ xmlParseQName(xmlParserCtxtPtr ctxt, const xmlChar **prefix) { *prefix = p; return(l); } + if (ctxt->instate == XML_PARSER_EOF) + return(NULL); tmp = xmlBuildQName(BAD_CAST "", l, NULL, 0); l = xmlDictLookup(ctxt->dict, tmp, -1); if (tmp != NULL) xmlFree(tmp); @@ -8840,6 +8873,18 @@ xmlParseQNameAndCompare(xmlParserCtxtPtr ctxt, xmlChar const *name, * caller if it was copied, this can be detected by val[*len] == 0. */ +#define GROW_PARSE_ATT_VALUE_INTERNAL(ctxt, in, start, end) \ + const xmlChar *oldbase = ctxt->input->base;\ + GROW;\ + if (ctxt->instate == XML_PARSER_EOF)\ + return(NULL);\ + if (oldbase != ctxt->input->base) {\ + ptrdiff_t delta = ctxt->input->base - oldbase;\ + start = start + delta;\ + in = in + delta;\ + }\ + end = ctxt->input->end; + static xmlChar * xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc, int normalize) @@ -8869,14 +8914,7 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc, end = ctxt->input->end; start = in; if (in >= end) { - const xmlChar *oldbase = ctxt->input->base; - GROW; - if (oldbase != ctxt->input->base) { - long delta = ctxt->input->base - oldbase; - start = start + delta; - in = in + delta; - } - end = ctxt->input->end; + GROW_PARSE_ATT_VALUE_INTERNAL(ctxt, in, start, end) } if (normalize) { /* @@ -8893,16 +8931,7 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc, in++; start = in; if (in >= end) { - const xmlChar *oldbase = ctxt->input->base; - GROW; - if (ctxt->instate == XML_PARSER_EOF) - return(NULL); - if (oldbase != ctxt->input->base) { - long delta = ctxt->input->base - oldbase; - start = start + delta; - in = in + delta; - } - end = ctxt->input->end; + GROW_PARSE_ATT_VALUE_INTERNAL(ctxt, in, start, end) if (((in - start) > XML_MAX_TEXT_LENGTH) && ((ctxt->options & XML_PARSE_HUGE) == 0)) { xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED, @@ -8916,16 +8945,7 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc, col++; if ((*in++ == 0x20) && (*in == 0x20)) break; if (in >= end) { - const xmlChar *oldbase = ctxt->input->base; - GROW; - if (ctxt->instate == XML_PARSER_EOF) - return(NULL); - if (oldbase != ctxt->input->base) { - long delta = ctxt->input->base - oldbase; - start = start + delta; - in = in + delta; - } - end = ctxt->input->end; + GROW_PARSE_ATT_VALUE_INTERNAL(ctxt, in, start, end) if (((in - start) > XML_MAX_TEXT_LENGTH) && ((ctxt->options & XML_PARSE_HUGE) == 0)) { xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED, @@ -8954,7 +8974,7 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc, if (ctxt->instate == XML_PARSER_EOF) return(NULL); if (oldbase != ctxt->input->base) { - long delta = ctxt->input->base - oldbase; + ptrdiff_t delta = ctxt->input->base - oldbase; start = start + delta; in = in + delta; last = last + delta; @@ -8981,16 +9001,7 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc, in++; col++; if (in >= end) { - const xmlChar *oldbase = ctxt->input->base; - GROW; - if (ctxt->instate == XML_PARSER_EOF) - return(NULL); - if (oldbase != ctxt->input->base) { - long delta = ctxt->input->base - oldbase; - start = start + delta; - in = in + delta; - } - end = ctxt->input->end; + GROW_PARSE_ATT_VALUE_INTERNAL(ctxt, in, start, end) if (((in - start) > XML_MAX_TEXT_LENGTH) && ((ctxt->options & XML_PARSE_HUGE) == 0)) { xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED, @@ -9084,7 +9095,7 @@ xmlParseAttribute2(xmlParserCtxtPtr ctxt, if (normalize) { /* * Sometimes a second normalisation pass for spaces is needed - * but that only happens if charrefs or entities refernces + * but that only happens if charrefs or entities references * have been used in the attribute value, i.e. the attribute * value have been extracted in an allocated string already. */ @@ -9247,7 +9258,8 @@ xmlParseStartTag2(xmlParserCtxtPtr ctxt, const xmlChar **pref, xmlErrMemory(ctxt, "dictionary allocation failure"); if ((attvalue != NULL) && (alloc != 0)) xmlFree(attvalue); - return(NULL); + localname = NULL; + goto done; } if (*URL != 0) { uri = xmlParseURI((const char *) URL); @@ -9497,7 +9509,8 @@ next_attr: if ((atts == NULL) || (nbatts + 5 > maxatts)) { if (xmlCtxtGrowAttrs(ctxt, nbatts + 5) < 0) { - return(NULL); + localname = NULL; + goto done; } maxatts = ctxt->maxatts; atts = ctxt->atts; @@ -9663,7 +9676,7 @@ xmlParseEndTag2(xmlParserCtxtPtr ctxt, const xmlChar *prefix, * */ if (name != (xmlChar*)1) { - if (name == NULL) name = BAD_CAST "unparseable"; + if (name == NULL) name = BAD_CAST "unparsable"; if ((line == 0) && (ctxt->node != NULL)) line = ctxt->node->line; xmlFatalErrMsgStrIntStr(ctxt, XML_ERR_TAG_NAME_MISMATCH, @@ -9807,9 +9820,10 @@ xmlParseCDSect(xmlParserCtxtPtr ctxt) { void xmlParseContent(xmlParserCtxtPtr ctxt) { + int nameNr = ctxt->nameNr; + GROW; while ((RAW != 0) && - ((RAW != '<') || (NXT(1) != '/')) && (ctxt->instate != XML_PARSER_EOF)) { const xmlChar *test = CUR_PTR; unsigned int cons = ctxt->input->consumed; @@ -9843,7 +9857,13 @@ xmlParseContent(xmlParserCtxtPtr ctxt) { * Fourth case : a sub-element. */ else if (*cur == '<') { - xmlParseElement(ctxt); + if (NXT(1) == '/') { + if (ctxt->nameNr <= nameNr) + break; + xmlParseElementEnd(ctxt); + } else { + xmlParseElementStart(ctxt); + } } /* @@ -9878,7 +9898,7 @@ xmlParseContent(xmlParserCtxtPtr ctxt) { * xmlParseElement: * @ctxt: an XML parser context * - * parse an XML element, this is highly recursive + * parse an XML element * * [39] element ::= EmptyElemTag | STag content ETag * @@ -9890,6 +9910,23 @@ xmlParseContent(xmlParserCtxtPtr ctxt) { void xmlParseElement(xmlParserCtxtPtr ctxt) { + if (xmlParseElementStart(ctxt) != 0) + return; + xmlParseContent(ctxt); + if (ctxt->instate == XML_PARSER_EOF) + return; + xmlParseElementEnd(ctxt); +} + +/** + * xmlParseElementStart: + * @ctxt: an XML parser context + * + * Parse the start of an XML element. Returns -1 in case of error, 0 if an + * opening tag was parsed, 1 if an empty element was parsed. + */ +static int +xmlParseElementStart(xmlParserCtxtPtr ctxt) { const xmlChar *name; const xmlChar *prefix = NULL; const xmlChar *URI = NULL; @@ -9904,7 +9941,7 @@ xmlParseElement(xmlParserCtxtPtr ctxt) { "Excessive depth in document: %d use XML_PARSE_HUGE option\n", xmlParserMaxDepth); xmlHaltParser(ctxt); - return; + return(-1); } /* Capture start position */ @@ -9931,12 +9968,17 @@ xmlParseElement(xmlParserCtxtPtr ctxt) { name = xmlParseStartTag(ctxt); #endif /* LIBXML_SAX1_ENABLED */ if (ctxt->instate == XML_PARSER_EOF) - return; + return(-1); if (name == NULL) { spacePop(ctxt); - return; + return(-1); } - namePush(ctxt, name); + if (ctxt->sax2) + nameNsPush(ctxt, name, prefix, URI, ctxt->nsNr - nsNr); +#ifdef LIBXML_SAX1_ENABLED + else + namePush(ctxt, name); +#endif /* LIBXML_SAX1_ENABLED */ ret = ctxt->node; #ifdef LIBXML_VALID_ENABLED @@ -9977,7 +10019,7 @@ xmlParseElement(xmlParserCtxtPtr ctxt) { node_info.node = ret; xmlParserAddNodeInfo(ctxt, &node_info); } - return; + return(1); } if (RAW == '>') { NEXT1; @@ -10005,41 +10047,39 @@ xmlParseElement(xmlParserCtxtPtr ctxt) { node_info.node = ret; xmlParserAddNodeInfo(ctxt, &node_info); } - return; + return(-1); } - /* - * Parse the content of the element: - */ - xmlParseContent(ctxt); - if (ctxt->instate == XML_PARSER_EOF) - return; - if (!IS_BYTE_CHAR(RAW)) { - xmlFatalErrMsgStrIntStr(ctxt, XML_ERR_TAG_NOT_FINISHED, - "Premature end of data in tag %s line %d\n", - name, line, NULL); + return(0); +} - /* - * end of parsing of this node. - */ - nodePop(ctxt); - namePop(ctxt); - spacePop(ctxt); - if (nsNr != ctxt->nsNr) - nsPop(ctxt, ctxt->nsNr - nsNr); - return; - } +/** + * xmlParseElementEnd: + * @ctxt: an XML parser context + * + * Parse the end of an XML element. + */ +static void +xmlParseElementEnd(xmlParserCtxtPtr ctxt) { + xmlParserNodeInfo node_info; + xmlNodePtr ret = ctxt->node; + + if (ctxt->nameNr <= 0) + return; /* * parse the end of tag: '</' should be here. */ if (ctxt->sax2) { - xmlParseEndTag2(ctxt, prefix, URI, line, ctxt->nsNr - nsNr, tlen); + const xmlChar *prefix = ctxt->pushTab[ctxt->nameNr * 3 - 3]; + const xmlChar *URI = ctxt->pushTab[ctxt->nameNr * 3 - 2]; + int nsNr = (ptrdiff_t) ctxt->pushTab[ctxt->nameNr * 3 - 1]; + xmlParseEndTag2(ctxt, prefix, URI, 0, nsNr, 0); namePop(ctxt); } #ifdef LIBXML_SAX1_ENABLED - else - xmlParseEndTag1(ctxt, line); + else + xmlParseEndTag1(ctxt, 0); #endif /* LIBXML_SAX1_ENABLED */ /* @@ -10281,7 +10321,7 @@ xmlParseEncodingDecl(xmlParserCtxtPtr ctxt) { } /* - * UTF-16 encoding stwich has already taken place at this stage, + * UTF-16 encoding switch has already taken place at this stage, * more over the little-endian/big-endian selection is already done */ if ((encoding != NULL) && @@ -11164,7 +11204,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) { else { /* * If we are operating on converted input, try to flush - * remainng chars to avoid them stalling in the non-converted + * remaining chars to avoid them stalling in the non-converted * buffer. But do not do this in document start where * encoding="..." may not have been read and we work on a * guessed encoding. @@ -12194,12 +12234,12 @@ xmldecl_done: } } res = xmlParserInputBufferPush(ctxt->input->buf, size, chunk); + xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input, base, cur); if (res < 0) { ctxt->errNo = XML_PARSER_EOF; xmlHaltParser(ctxt); return (XML_PARSER_EOF); } - xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input, base, cur); #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, "PP: pushed %d\n", size); #endif @@ -12214,6 +12254,7 @@ xmldecl_done: size_t current = ctxt->input->cur - ctxt->input->base; nbchars = xmlCharEncInput(in, terminate); + xmlBufSetInputBaseCur(in->buffer, ctxt->input, base, current); if (nbchars < 0) { /* TODO 2.6.0 */ xmlGenericError(xmlGenericErrorContext, @@ -12221,7 +12262,6 @@ xmldecl_done: xmlHaltParser(ctxt); return(XML_ERR_INVALID_ENCODING); } - xmlBufSetInputBaseCur(in->buffer, ctxt->input, base, current); } } } @@ -12356,13 +12396,6 @@ xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax, void *user_data, return(NULL); } ctxt->dictNames = 1; - ctxt->pushTab = (void **) xmlMalloc(ctxt->nameMax * 3 * sizeof(xmlChar *)); - if (ctxt->pushTab == NULL) { - xmlErrMemory(ctxt, NULL); - xmlFreeParserInputBuffer(buf); - xmlFreeParserCtxt(ctxt); - return(NULL); - } if (sax != NULL) { #ifdef LIBXML_SAX1_ENABLED if (ctxt->sax != (xmlSAXHandlerPtr) &xmlDefaultSAXHandler) @@ -12866,196 +12899,28 @@ xmlParseDTD(const xmlChar *ExternalID, const xmlChar *SystemID) { int xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, const xmlChar *URL, const xmlChar *ID, xmlNodePtr *lst) { - xmlParserCtxtPtr ctxt; - xmlDocPtr newDoc; - xmlNodePtr newRoot; - xmlSAXHandlerPtr oldsax = NULL; - int ret = 0; - xmlChar start[4]; - xmlCharEncoding enc; + void *userData; if (ctx == NULL) return(-1); - - if (((ctx->depth > 40) && ((ctx->options & XML_PARSE_HUGE) == 0)) || - (ctx->depth > 1024)) { - return(XML_ERR_ENTITY_LOOP); - } - - if (lst != NULL) - *lst = NULL; - if ((URL == NULL) && (ID == NULL)) - return(-1); - if (ctx->myDoc == NULL) /* @@ relax but check for dereferences */ - return(-1); - - ctxt = xmlCreateEntityParserCtxtInternal(URL, ID, NULL, ctx); - if (ctxt == NULL) { - return(-1); - } - - oldsax = ctxt->sax; - ctxt->sax = ctx->sax; - xmlDetectSAX2(ctxt); - newDoc = xmlNewDoc(BAD_CAST "1.0"); - if (newDoc == NULL) { - xmlFreeParserCtxt(ctxt); - return(-1); - } - newDoc->properties = XML_DOC_INTERNAL; - if (ctx->myDoc->dict) { - newDoc->dict = ctx->myDoc->dict; - xmlDictReference(newDoc->dict); - } - if (ctx->myDoc != NULL) { - newDoc->intSubset = ctx->myDoc->intSubset; - newDoc->extSubset = ctx->myDoc->extSubset; - } - if (ctx->myDoc->URL != NULL) { - newDoc->URL = xmlStrdup(ctx->myDoc->URL); - } - newRoot = xmlNewDocNode(newDoc, NULL, BAD_CAST "pseudoroot", NULL); - if (newRoot == NULL) { - ctxt->sax = oldsax; - xmlFreeParserCtxt(ctxt); - newDoc->intSubset = NULL; - newDoc->extSubset = NULL; - xmlFreeDoc(newDoc); - return(-1); - } - xmlAddChild((xmlNodePtr) newDoc, newRoot); - nodePush(ctxt, newDoc->children); - if (ctx->myDoc == NULL) { - ctxt->myDoc = newDoc; - } else { - ctxt->myDoc = ctx->myDoc; - newDoc->children->doc = ctx->myDoc; - } - - /* - * Get the 4 first bytes and decode the charset - * if enc != XML_CHAR_ENCODING_NONE - * plug some encoding conversion routines. - */ - GROW - if ((ctxt->input->end - ctxt->input->cur) >= 4) { - start[0] = RAW; - start[1] = NXT(1); - start[2] = NXT(2); - start[3] = NXT(3); - enc = xmlDetectCharEncoding(start, 4); - if (enc != XML_CHAR_ENCODING_NONE) { - xmlSwitchEncoding(ctxt, enc); - } - } - - /* - * Parse a possible text declaration first - */ - if ((CMP5(CUR_PTR, '<', '?', 'x', 'm', 'l')) && (IS_BLANK_CH(NXT(5)))) { - xmlParseTextDecl(ctxt); - /* - * An XML-1.0 document can't reference an entity not XML-1.0 - */ - if ((xmlStrEqual(ctx->version, BAD_CAST "1.0")) && - (!xmlStrEqual(ctxt->input->version, BAD_CAST "1.0"))) { - xmlFatalErrMsg(ctxt, XML_ERR_VERSION_MISMATCH, - "Version mismatch between document and entity\n"); - } - } - /* - * If the user provided its own SAX callbacks then reuse the - * useData callback field, otherwise the expected setup in a + * If the user provided their own SAX callbacks, then reuse the + * userData callback field, otherwise the expected setup in a * DOM builder is to have userData == ctxt */ if (ctx->userData == ctx) - ctxt->userData = ctxt; + userData = NULL; else - ctxt->userData = ctx->userData; - - /* - * Doing validity checking on chunk doesn't make sense - */ - ctxt->instate = XML_PARSER_CONTENT; - ctxt->validate = ctx->validate; - ctxt->valid = ctx->valid; - ctxt->loadsubset = ctx->loadsubset; - ctxt->depth = ctx->depth + 1; - ctxt->replaceEntities = ctx->replaceEntities; - if (ctxt->validate) { - ctxt->vctxt.error = ctx->vctxt.error; - ctxt->vctxt.warning = ctx->vctxt.warning; - } else { - ctxt->vctxt.error = NULL; - ctxt->vctxt.warning = NULL; - } - ctxt->vctxt.nodeTab = NULL; - ctxt->vctxt.nodeNr = 0; - ctxt->vctxt.nodeMax = 0; - ctxt->vctxt.node = NULL; - if (ctxt->dict != NULL) xmlDictFree(ctxt->dict); - ctxt->dict = ctx->dict; - ctxt->str_xml = xmlDictLookup(ctxt->dict, BAD_CAST "xml", 3); - ctxt->str_xmlns = xmlDictLookup(ctxt->dict, BAD_CAST "xmlns", 5); - ctxt->str_xml_ns = xmlDictLookup(ctxt->dict, XML_XML_NAMESPACE, 36); - ctxt->dictNames = ctx->dictNames; - ctxt->attsDefault = ctx->attsDefault; - ctxt->attsSpecial = ctx->attsSpecial; - ctxt->linenumbers = ctx->linenumbers; - - xmlParseContent(ctxt); - - ctx->validate = ctxt->validate; - ctx->valid = ctxt->valid; - if ((RAW == '<') && (NXT(1) == '/')) { - xmlFatalErr(ctxt, XML_ERR_NOT_WELL_BALANCED, NULL); - } else if (RAW != 0) { - xmlFatalErr(ctxt, XML_ERR_EXTRA_CONTENT, NULL); - } - if (ctxt->node != newDoc->children) { - xmlFatalErr(ctxt, XML_ERR_NOT_WELL_BALANCED, NULL); - } - - if (!ctxt->wellFormed) { - if (ctxt->errNo == 0) - ret = 1; - else - ret = ctxt->errNo; - } else { - if (lst != NULL) { - xmlNodePtr cur; - - /* - * Return the newly created nodeset after unlinking it from - * they pseudo parent. - */ - cur = newDoc->children->children; - *lst = cur; - while (cur != NULL) { - cur->parent = NULL; - cur = cur->next; - } - newDoc->children->children = NULL; - } - ret = 0; - } - ctxt->sax = oldsax; - ctxt->dict = NULL; - ctxt->attsDefault = NULL; - ctxt->attsSpecial = NULL; - xmlFreeParserCtxt(ctxt); - newDoc->intSubset = NULL; - newDoc->extSubset = NULL; - xmlFreeDoc(newDoc); - - return(ret); + userData = ctx->userData; + return xmlParseExternalEntityPrivate(ctx->myDoc, ctx, ctx->sax, + userData, ctx->depth + 1, + URL, ID, lst); } /** * xmlParseExternalEntityPrivate: * @doc: the document the chunk pertains to * @oldctxt: the previous parser context if available - * @sax: the SAX handler bloc (possibly NULL) + * @sax: the SAX handler block (possibly NULL) * @user_data: The user data returned on SAX callbacks (possibly NULL) * @depth: Used for loop detection, use 0 * @URL: the URL for the entity to load @@ -13098,25 +12963,6 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt, ctxt = xmlCreateEntityParserCtxtInternal(URL, ID, NULL, oldctxt); if (ctxt == NULL) return(XML_WAR_UNDECLARED_ENTITY); ctxt->userData = ctxt; - if (oldctxt != NULL) { - ctxt->_private = oldctxt->_private; - ctxt->loadsubset = oldctxt->loadsubset; - ctxt->validate = oldctxt->validate; - ctxt->external = oldctxt->external; - ctxt->record_info = oldctxt->record_info; - ctxt->node_seq.maximum = oldctxt->node_seq.maximum; - ctxt->node_seq.length = oldctxt->node_seq.length; - ctxt->node_seq.buffer = oldctxt->node_seq.buffer; - } else { - /* - * Doing validity checking on chunk without context - * doesn't make sense - */ - ctxt->_private = NULL; - ctxt->validate = 0; - ctxt->external = 2; - ctxt->loadsubset = 0; - } if (sax != NULL) { oldsax = ctxt->sax; ctxt->sax = sax; @@ -13126,28 +12972,25 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt, xmlDetectSAX2(ctxt); newDoc = xmlNewDoc(BAD_CAST "1.0"); if (newDoc == NULL) { - ctxt->node_seq.maximum = 0; - ctxt->node_seq.length = 0; - ctxt->node_seq.buffer = NULL; xmlFreeParserCtxt(ctxt); return(XML_ERR_INTERNAL_ERROR); } newDoc->properties = XML_DOC_INTERNAL; - newDoc->intSubset = doc->intSubset; - newDoc->extSubset = doc->extSubset; - newDoc->dict = doc->dict; - xmlDictReference(newDoc->dict); - - if (doc->URL != NULL) { - newDoc->URL = xmlStrdup(doc->URL); + if (doc) { + newDoc->intSubset = doc->intSubset; + newDoc->extSubset = doc->extSubset; + if (doc->dict) { + newDoc->dict = doc->dict; + xmlDictReference(newDoc->dict); + } + if (doc->URL != NULL) { + newDoc->URL = xmlStrdup(doc->URL); + } } newRoot = xmlNewDocNode(newDoc, NULL, BAD_CAST "pseudoroot", NULL); if (newRoot == NULL) { if (sax != NULL) ctxt->sax = oldsax; - ctxt->node_seq.maximum = 0; - ctxt->node_seq.length = 0; - ctxt->node_seq.buffer = NULL; xmlFreeParserCtxt(ctxt); newDoc->intSubset = NULL; newDoc->extSubset = NULL; @@ -13156,8 +12999,12 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt, } xmlAddChild((xmlNodePtr) newDoc, newRoot); nodePush(ctxt, newDoc->children); - ctxt->myDoc = doc; - newRoot->doc = doc; + if (doc == NULL) { + ctxt->myDoc = newDoc; + } else { + ctxt->myDoc = doc; + newRoot->doc = doc; + } /* * Get the 4 first bytes and decode the charset @@ -13181,10 +13028,53 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt, */ if ((CMP5(CUR_PTR, '<', '?', 'x', 'm', 'l')) && (IS_BLANK_CH(NXT(5)))) { xmlParseTextDecl(ctxt); + /* + * An XML-1.0 document can't reference an entity not XML-1.0 + */ + if ((xmlStrEqual(oldctxt->version, BAD_CAST "1.0")) && + (!xmlStrEqual(ctxt->input->version, BAD_CAST "1.0"))) { + xmlFatalErrMsg(ctxt, XML_ERR_VERSION_MISMATCH, + "Version mismatch between document and entity\n"); + } } ctxt->instate = XML_PARSER_CONTENT; ctxt->depth = depth; + if (oldctxt != NULL) { + ctxt->_private = oldctxt->_private; + ctxt->loadsubset = oldctxt->loadsubset; + ctxt->validate = oldctxt->validate; + ctxt->valid = oldctxt->valid; + ctxt->replaceEntities = oldctxt->replaceEntities; + if (oldctxt->validate) { + ctxt->vctxt.error = oldctxt->vctxt.error; + ctxt->vctxt.warning = oldctxt->vctxt.warning; + ctxt->vctxt.userData = oldctxt->vctxt.userData; + } + ctxt->external = oldctxt->external; + if (ctxt->dict) xmlDictFree(ctxt->dict); + ctxt->dict = oldctxt->dict; + ctxt->str_xml = xmlDictLookup(ctxt->dict, BAD_CAST "xml", 3); + ctxt->str_xmlns = xmlDictLookup(ctxt->dict, BAD_CAST "xmlns", 5); + ctxt->str_xml_ns = xmlDictLookup(ctxt->dict, XML_XML_NAMESPACE, 36); + ctxt->dictNames = oldctxt->dictNames; + ctxt->attsDefault = oldctxt->attsDefault; + ctxt->attsSpecial = oldctxt->attsSpecial; + ctxt->linenumbers = oldctxt->linenumbers; + ctxt->record_info = oldctxt->record_info; + ctxt->node_seq.maximum = oldctxt->node_seq.maximum; + ctxt->node_seq.length = oldctxt->node_seq.length; + ctxt->node_seq.buffer = oldctxt->node_seq.buffer; + } else { + /* + * Doing validity checking on chunk without context + * doesn't make sense + */ + ctxt->_private = NULL; + ctxt->validate = 0; + ctxt->external = 2; + ctxt->loadsubset = 0; + } xmlParseContent(ctxt); @@ -13244,6 +13134,11 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt, if (sax != NULL) ctxt->sax = oldsax; if (oldctxt != NULL) { + ctxt->dict = NULL; + ctxt->attsDefault = NULL; + ctxt->attsSpecial = NULL; + oldctxt->validate = ctxt->validate; + oldctxt->valid = ctxt->valid; oldctxt->node_seq.maximum = ctxt->node_seq.maximum; oldctxt->node_seq.length = ctxt->node_seq.length; oldctxt->node_seq.buffer = ctxt->node_seq.buffer; @@ -13263,7 +13158,7 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt, /** * xmlParseExternalEntity: * @doc: the document the chunk pertains to - * @sax: the SAX handler bloc (possibly NULL) + * @sax: the SAX handler block (possibly NULL) * @user_data: The user data returned on SAX callbacks (possibly NULL) * @depth: Used for loop detection, use 0 * @URL: the URL for the entity to load @@ -13289,8 +13184,8 @@ xmlParseExternalEntity(xmlDocPtr doc, xmlSAXHandlerPtr sax, void *user_data, /** * xmlParseBalancedChunkMemory: - * @doc: the document the chunk pertains to - * @sax: the SAX handler bloc (possibly NULL) + * @doc: the document the chunk pertains to (must not be NULL) + * @sax: the SAX handler block (possibly NULL) * @user_data: The user data returned on SAX callbacks (possibly NULL) * @depth: Used for loop detection, use 0 * @string: the input string in UTF8 or ISO-Latin (zero terminated) @@ -13741,8 +13636,8 @@ xmlParseInNodeContext(xmlNodePtr node, const char *data, int datalen, #ifdef LIBXML_SAX1_ENABLED /** * xmlParseBalancedChunkMemoryRecover: - * @doc: the document the chunk pertains to - * @sax: the SAX handler bloc (possibly NULL) + * @doc: the document the chunk pertains to (must not be NULL) + * @sax: the SAX handler block (possibly NULL) * @user_data: The user data returned on SAX callbacks (possibly NULL) * @depth: Used for loop detection, use 0 * @string: the input string in UTF8 or ISO-Latin (zero terminated) @@ -13813,6 +13708,7 @@ xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, xmlSAXHandlerPtr sax, } else { xmlCtxtUseOptionsInternal(ctxt, XML_PARSE_NODICT, NULL); } + /* doc == NULL is only supported for historic reasons */ if (doc != NULL) { newDoc->intSubset = doc->intSubset; newDoc->extSubset = doc->extSubset; @@ -13829,6 +13725,7 @@ xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, xmlSAXHandlerPtr sax, } xmlAddChild((xmlNodePtr) newDoc, newRoot); nodePush(ctxt, newRoot); + /* doc == NULL is only supported for historic reasons */ if (doc == NULL) { ctxt->myDoc = newDoc; } else { @@ -13898,6 +13795,7 @@ xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, xmlSAXHandlerPtr sax, xmlFreeParserCtxt(ctxt); newDoc->intSubset = NULL; newDoc->extSubset = NULL; + /* This leaks the namespace list if doc == NULL */ newDoc->oldNs = NULL; xmlFreeDoc(newDoc); @@ -14007,6 +13905,10 @@ xmlCreateEntityParserCtxtInternal(const xmlChar *URL, const xmlChar *ID, ctxt->input_id = pctx->input_id + 1; } + /* Don't read from stdin. */ + if (xmlStrcmp(URL, BAD_CAST "-") == 0) + URL = BAD_CAST "./-"; + uri = xmlBuildURI(URL, base); if (uri == NULL) { @@ -14707,6 +14609,10 @@ xmlInitParser(void) { if (xmlParserInitialized != 0) return; +#if defined(_WIN32) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL)) + atexit(xmlCleanupParser); +#endif + #ifdef LIBXML_THREAD_ENABLED __xmlGlobalInitMutexLock(); if (xmlParserInitialized == 0) { @@ -14785,6 +14691,15 @@ xmlCleanupParser(void) { xmlParserInitialized = 0; } +#if defined(HAVE_ATTRIBUTE_DESTRUCTOR) && !defined(LIBXML_STATIC) && \ + !defined(_WIN32) +static void +ATTRIBUTE_DESTRUCTOR +xmlDestructor(void) { + xmlCleanupParser(); +} +#endif + /************************************************************************ * * * New set (2.6.0) of simpler and more flexible APIs * @@ -14939,16 +14854,6 @@ xmlCtxtResetPush(xmlParserCtxtPtr ctxt, const char *chunk, xmlCtxtReset(ctxt); - if (ctxt->pushTab == NULL) { - ctxt->pushTab = (void **) xmlMalloc(ctxt->nameMax * 3 * - sizeof(xmlChar *)); - if (ctxt->pushTab == NULL) { - xmlErrMemory(ctxt, NULL); - xmlFreeParserInputBuffer(buf); - return(1); - } - } - if (filename == NULL) { ctxt->directory = NULL; } else { diff --git a/parserInternals.c b/parserInternals.c index 0f015ded..d849c08b 100644 --- a/parserInternals.c +++ b/parserInternals.c @@ -105,7 +105,7 @@ xmlCheckVersion(int version) { /** * xmlErrMemory: * @ctxt: an XML parser context - * @extra: extra informations + * @extra: extra information * * Handle a redefinition of attribute error */ @@ -165,7 +165,7 @@ __xmlErrEncoding(xmlParserCtxtPtr ctxt, xmlParserErrors xmlerr, * xmlErrInternal: * @ctxt: an XML parser context * @msg: the error message - * @str: error informations + * @str: error information * * Handle an internal error */ @@ -703,7 +703,7 @@ encoding_error: /* * An encoding problem may arise from a truncated input buffer * splitting a character in the middle. In that case do not raise - * an error but return 0 to endicate an end of stream problem + * an error but return 0 to indicate an end of stream problem */ if (ctxt->input->end - ctxt->input->cur < 4) { *len = 0; @@ -816,7 +816,7 @@ encoding_error: /* * An encoding problem may arise from a truncated input buffer * splitting a character in the middle. In that case do not raise - * an error but return 0 to endicate an end of stream problem + * an error but return 0 to indicate an end of stream problem */ if ((ctxt == NULL) || (ctxt->input == NULL) || (ctxt->input->end - ctxt->input->cur < 4)) { @@ -1093,7 +1093,7 @@ xmlSwitchEncoding(xmlParserCtxtPtr ctxt, xmlCharEncoding enc) } } /* - * TODO: We could recover from errors in external entites if we + * TODO: We could recover from errors in external entities if we * didn't stop the parser. But most callers of this function don't * check the return value. */ @@ -1138,7 +1138,7 @@ xmlSwitchInputEncodingInt(xmlParserCtxtPtr ctxt, xmlParserInputPtr input, if (input->buf != NULL) { if (input->buf->encoder != NULL) { /* - * Check in case the auto encoding detetection triggered + * Check in case the auto encoding detection triggered * in already. */ if (input->buf->encoder == handler) @@ -1877,7 +1877,7 @@ xmlNewParserCtxt(void) /************************************************************************ * * - * Handling of node informations * + * Handling of node information * * * ************************************************************************/ @@ -1,5 +1,5 @@ /* - * pattern.c: Implemetation of selectors for nodes + * pattern.c: Implementation of selectors for nodes * * Reference: * http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/ @@ -55,7 +55,7 @@ /* * NOTE: Those private flags (XML_STREAM_xxx) are used * in _xmlStreamCtxt->flag. They extend the public -* xmlPatternFlags, so be carefull not to interfere with the +* xmlPatternFlags, so be careful not to interfere with the * reserved values for xmlPatternFlags. */ #define XML_STREAM_FINAL_IS_ANY_NODE 1<<14 @@ -229,13 +229,16 @@ xmlNewPattern(void) { */ void xmlFreePattern(xmlPatternPtr comp) { + xmlFreePatternList(comp); +} + +static void +xmlFreePatternInternal(xmlPatternPtr comp) { xmlStepOpPtr op; int i; if (comp == NULL) return; - if (comp->next != NULL) - xmlFreePattern(comp->next); if (comp->stream != NULL) xmlFreeStreamComp(comp->stream); if (comp->pattern != NULL) @@ -273,7 +276,7 @@ xmlFreePatternList(xmlPatternPtr comp) { cur = comp; comp = comp->next; cur->next = NULL; - xmlFreePattern(cur); + xmlFreePatternInternal(cur); } } @@ -742,7 +745,7 @@ rollback: * xmlPatScanLiteral: * @ctxt: the XPath Parser context * - * Parse an XPath Litteral: + * Parse an XPath Literal: * * [29] Literal ::= '"' [^"]* '"' * | "'" [^']* "'" @@ -1973,7 +1976,7 @@ xmlStreamPushInternal(xmlStreamCtxtPtr stream, } else { /* * If there are "//", then we need to process every "//" - * occuring in the states, plus any other state for this + * occurring in the states, plus any other state for this * level. */ stepNr = stream->states[2 * i]; diff --git a/post_update.sh b/post_update.sh new file mode 100755 index 00000000..38cfae4b --- /dev/null +++ b/post_update.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# $1 Path to the new version. +# $2 Path to the old version. + +cp -a -n $2/config.h $1/ +cp -a -n $2/.gitignore $1/.gitignore +cp -a -n $2/include/libxml/xmlversion.h $1/include/libxml/ diff --git a/python/libxml.c b/python/libxml.c index 5b1ff6e8..81e709f3 100644 --- a/python/libxml.c +++ b/python/libxml.c @@ -236,7 +236,7 @@ libxml_xmlDumpMemory(ATTRIBUTE_UNUSED PyObject * self, /************************************************************************ * * * Handling Python FILE I/O at the C level * - * The raw I/O attack diectly the File objects, while the * + * The raw I/O attack directly the File objects, while the * * other routines address the ioWrapper instance instead * * * ************************************************************************/ @@ -294,7 +294,7 @@ xmlPythonFileReadRaw (void * context, char * buffer, int len) { lenread = PyBytes_Size(ret); data = PyBytes_AsString(ret); #ifdef PyUnicode_Check - } else if PyUnicode_Check (ret) { + } else if (PyUnicode_Check (ret)) { #if PY_VERSION_HEX >= 0x03030000 Py_ssize_t size; const char *tmp; @@ -359,7 +359,7 @@ xmlPythonFileRead (void * context, char * buffer, int len) { lenread = PyBytes_Size(ret); data = PyBytes_AsString(ret); #ifdef PyUnicode_Check - } else if PyUnicode_Check (ret) { + } else if (PyUnicode_Check (ret)) { #if PY_VERSION_HEX >= 0x03030000 Py_ssize_t size; const char *tmp; @@ -1435,7 +1435,7 @@ static xmlSAXHandler pythonSaxHandler = { pythonCdataBlock, pythonExternalSubset, 1, - NULL, /* TODO mograte to SAX2 */ + NULL, /* TODO migrate to SAX2 */ NULL, NULL, NULL @@ -3327,7 +3327,7 @@ libxml_xmlSchemaValidityGenericErrorFuncHandler(void *ctx, char *str) xmlSchemaValidCtxtPyCtxtPtr pyCtxt; #ifdef DEBUG_ERROR - printf("libxml_xmlSchemaValiditiyGenericErrorFuncHandler(%p, %s, ...) called\n", ctx, str); + printf("libxml_xmlSchemaValidityGenericErrorFuncHandler(%p, %s, ...) called\n", ctx, str); #endif pyCtxt = (xmlSchemaValidCtxtPyCtxtPtr) ctx; @@ -3911,7 +3911,7 @@ void initlibxml2mod(void) #if PY_MAJOR_VERSION >= 3 module = PyModule_Create(&moduledef); #else - /* intialize the python extension module */ + /* initialize the python extension module */ module = Py_InitModule((char *) "libxml2mod", libxmlMethods); #endif if (module == NULL) diff --git a/python/libxml.py b/python/libxml.py index 2466cc9f..1e458d17 100644 --- a/python/libxml.py +++ b/python/libxml.py @@ -392,7 +392,7 @@ class xmlCore: last = property(get_last, None, None, "Last sibling node") next = property(get_next, None, None, "Next sibling node") prev = property(get_prev, None, None, "Previous sibling node") - properties = property(get_properties, None, None, "List of properies") + properties = property(get_properties, None, None, "List of properties") content = property(get_content, None, None, "Content of this node") name = property(get_name, None, None, "Node name") type = property(get_type, None, None, "Node type") diff --git a/python/libxml2-python-api.xml b/python/libxml2-python-api.xml index 032b44ba..e84faad6 100644 --- a/python/libxml2-python-api.xml +++ b/python/libxml2-python-api.xml @@ -60,13 +60,13 @@ <info>Create a libxml2 output buffer from a Python file</info> <return type='xmlOutputBufferPtr' info="the output buffer"/> <arg name='file' type='pythonObject' info='the Python file'/> - <arg name='encoding' type='xmlChar *' info='an optionnal encoding'/> + <arg name='encoding' type='xmlChar *' info='an optional encoding'/> </function> <function name='xmlCreateInputBuffer' file='python'> <info>Create a libxml2 input buffer from a Python file</info> <return type='xmlParserInputBufferPtr' info="the input buffer"/> <arg name='file' type='pythonObject' info='the Python file'/> - <arg name='encoding' type='xmlChar *' info='an optionnal encoding'/> + <arg name='encoding' type='xmlChar *' info='an optional encoding'/> </function> <function name='xmlSetEntityLoader' file='python'> <info>Set the entity resolver as a python function</info> diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am index 95ebead8..227e24df 100644 --- a/python/tests/Makefile.am +++ b/python/tests/Makefile.am @@ -62,14 +62,17 @@ if WITH_PYTHON tests: $(PYTESTS) @for f in $(XMLS) ; do test -f $$f || $(LN_S) $(srcdir)/$$f . ; done @echo "## running Python regression tests" - -@(PYTHONPATH="..:../.libs:$(srcdir)/..:$$PYTHONPATH" ; \ - export PYTHONPATH; \ - LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \ - export LD_LIBRARY_PATH; \ - for test in $(PYTESTS) ; \ - do log=`$(PYTHON) $(srcdir)/$$test` ; \ - if [ "`echo $$log | grep OK`" = "" ] ; then \ - echo "-- $$test" ; echo "$$log" ; fi ; done) + @(export PYTHONPATH="..:../.libs:$(srcdir)/..:$$PYTHONPATH" ; \ + export LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \ + export PATH="$(top_builddir)/.libs:$$PATH" ; \ + for test in $(PYTESTS) ; do \ + log=`$(PYTHON) $(srcdir)/$$test` ; \ + if [ "$$?" -ne 0 ] ; then \ + echo "-- $$test" ; \ + echo "$$log" ; \ + exit 1 ; \ + fi ; \ + done) else tests: endif diff --git a/python/tests/nsdel.py b/python/tests/nsdel.py index 079399a0..8558248c 100755 --- a/python/tests/nsdel.py +++ b/python/tests/nsdel.py @@ -42,7 +42,7 @@ checkNamespaceDefs(node, 0) ns.freeNsList() doc.freeDoc() -# Remove a namespace refered to by a child +# Remove a namespace referred to by a child doc = libxml2.newDoc("1.0") root = doc.newChild(None, "root", None) namespace = root.newNs("http://example.com/sample", "s") diff --git a/python/tests/reader2.py b/python/tests/reader2.py index 85705750..b50180df 100755 --- a/python/tests/reader2.py +++ b/python/tests/reader2.py @@ -1,4 +1,5 @@ #!/usr/bin/python -u +# -*- coding: utf-8 -*- # # this tests the DTD validation with the XmlTextReader interface # @@ -16,44 +17,131 @@ except: # Memory debug specific libxml2.debugMemory(1) -err="" -expect="""../../test/valid/rss.xml:177: element rss: validity error : Element rss does not carry attribute version +err = "" +dir_prefix = "../../test/valid/" +# This dictionary reflects the contents of the files +# ../../test/valid/*.xml.err that are not empty, except that +# the file paths in the messages start with ../../test/ + +expect = { + '766956': +"""../../test/valid/dtds/766956.dtd:2: parser error : PEReference: expecting ';' +%ä%ent; + ^ +../../test/valid/dtds/766956.dtd:2: parser error : Content error in the external subset +%ä%ent; + ^ +Entity: line 1: +value +^ +""", + '781333': +"""../../test/valid/781333.xml:4: element a: validity error : Element a content does not follow the DTD, expecting ( ..., got +<a/> + ^ +../../test/valid/781333.xml:5: element a: validity error : Element a content does not follow the DTD, Expecting more child + +^ +""", + 'cond_sect2': +"""../../test/valid/dtds/cond_sect2.dtd:15: parser error : All markup of the conditional section is not in the same entity + %ent; + ^ +Entity: line 1: +]]> +^ +../../test/valid/dtds/cond_sect2.dtd:17: parser error : Content error in the external subset + +^ +""", + 'rss': +"""../../test/valid/rss.xml:177: element rss: validity error : Element rss does not carry attribute version </rss> ^ -../../test/valid/xlink.xml:450: element termdef: validity error : ID dt-arc already defined +""", + 't8': +"""../../test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot; %defmiddle; %deftest; + ^ +Entity: line 1: +<!ELEMENT root (middle) > +^ +../../test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot; %defmiddle; %deftest; + ^ +Entity: line 1: +<!ELEMENT middle (test) > +^ +../../test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot; %defmiddle; %deftest; + ^ +Entity: line 1: +<!ELEMENT test (#PCDATA) > +^ +""", + 't8a': +"""../../test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot;%defmiddle;%deftest; + ^ +Entity: line 1: +<!ELEMENT root (middle) > +^ +../../test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot;%defmiddle;%deftest; + ^ +Entity: line 1: +<!ELEMENT middle (test) > +^ +../../test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%defroot;%defmiddle;%deftest; + ^ +Entity: line 1: +<!ELEMENT test (#PCDATA) > +^ +""", + 'xlink': +"""../../test/valid/xlink.xml:450: element termdef: validity error : ID dt-arc already defined <p><termdef id="dt-arc" term="Arc">An <ter ^ -../../test/valid/xlink.xml:530: validity error : attribute def line 199 references an unknown ID "dt-xlg" +validity error : attribute def line 199 references an unknown ID "dt-xlg" +""", +} + +# Add prefix_dir and extension to the keys +expect = {"{}{}.xml".format(dir_prefix, key): val for key, val in expect.items()} -^ -""" def callback(ctx, str): global err err = err + "%s" % (str) libxml2.registerErrorHandler(callback, "") -valid_files = glob.glob("../../test/valid/*.x*") +parsing_error_files = ["766956", "cond_sect2", "t8", "t8a"] +expect_parsing_error = ["{}{}.xml".format(dir_prefix, f) for f in parsing_error_files] + +valid_files = glob.glob(dir_prefix + "*.x*") valid_files.sort() for file in valid_files: - if file.find("t8") != -1: - continue - if file == "../../test/valid/rss.xml": - continue - if file == "../../test/valid/xlink.xml": - continue + err = "" reader = libxml2.newTextReaderFilename(file) #print "%s:" % (file) reader.SetParserProp(libxml2.PARSER_VALIDATE, 1) ret = reader.Read() while ret == 1: ret = reader.Read() - if ret != 0: + if ret != 0 and file not in expect_parsing_error: print("Error parsing and validating %s" % (file)) - #sys.exit(1) - -if err != expect: - print(err) - + #sys.exit(1) + if (err): + if not(file in expect and err == expect[file]): + print("Error: ", err) + if file in expect: + print("Expected: ", expect[file]) # # another separate test based on Stephane Bidoul one # diff --git a/python/tests/tstLastError.py b/python/tests/tstLastError.py index d5f9be75..1758a9fb 100755 --- a/python/tests/tstLastError.py +++ b/python/tests/tstLastError.py @@ -25,7 +25,10 @@ class TestCase(unittest.TestCase): when the exception is raised, check the libxml2.lastError for expected values.""" # disable the default error handler - libxml2.registerErrorHandler(None,None) + def noerr(ctx, str): + pass + # None is not acceptable as function. + libxml2.registerErrorHandler(noerr,None) try: f(*args) except exc: @@ -40,12 +43,12 @@ class TestCase(unittest.TestCase): print("file =",e.file()) print("line =",e.line()) print() - self.failUnlessEqual(domain,e.domain()) - self.failUnlessEqual(code,e.code()) - self.failUnlessEqual(message,e.message()) - self.failUnlessEqual(level,e.level()) - self.failUnlessEqual(file,e.file()) - self.failUnlessEqual(line,e.line()) + self.assertEqual(domain,e.domain()) + self.assertEqual(code,e.code()) + self.assertEqual(message,e.message()) + self.assertEqual(level,e.level()) + self.assertEqual(file,e.file()) + self.assertEqual(line,e.line()) else: self.fail("exception %s should have been raised" % exc) @@ -68,8 +71,8 @@ class TestCase(unittest.TestCase): (s,len(s),"dummy.xml",None,0), libxml2.treeError, domain=libxml2.XML_FROM_PARSER, - code=libxml2.XML_ERR_TAG_NOT_FINISHED, - message='Premature end of data in tag x line 1\n', + code=libxml2.XML_ERR_LTSLASH_REQUIRED, + message='EndTag: \'</\' not found\n', level=libxml2.XML_ERR_FATAL, file='dummy.xml', line=3) diff --git a/python/tests/validate.py b/python/tests/validate.py index 16c0386f..cec9cb0f 100755 --- a/python/tests/validate.py +++ b/python/tests/validate.py @@ -36,7 +36,7 @@ while i > 0: sys.exit(1) i = i - 1 -#desactivate error messages from the validation +#deactivate error messages from the validation def noerr(ctx, str): pass diff --git a/python/types.c b/python/types.c index 124af565..ed284ec7 100644 --- a/python/types.c +++ b/python/types.c @@ -65,7 +65,7 @@ libxml_PyFileGet(PyObject *f) { * before and after a conversion took place. No way around it * in the Python3 infrastructure ! * The duplicated fd and FILE * will be released in the subsequent - * call to libxml_PyFileRelease() which must be genrated accodingly + * call to libxml_PyFileRelease() which must be generated accordingly */ fd = dup(fd); if (fd == -1) @@ -602,16 +602,16 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj) if (obj == NULL) { return (NULL); } - if PyFloat_Check (obj) { + if (PyFloat_Check (obj)) { ret = xmlXPathNewFloat((double) PyFloat_AS_DOUBLE(obj)); - } else if PyLong_Check(obj) { + } else if (PyLong_Check(obj)) { #ifdef PyLong_AS_LONG ret = xmlXPathNewFloat((double) PyLong_AS_LONG(obj)); #else ret = xmlXPathNewFloat((double) PyInt_AS_LONG(obj)); #endif #ifdef PyBool_Check - } else if PyBool_Check (obj) { + } else if (PyBool_Check (obj)) { if (obj == Py_True) { ret = xmlXPathNewBoolean(1); @@ -620,14 +620,14 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj) ret = xmlXPathNewBoolean(0); } #endif - } else if PyBytes_Check (obj) { + } else if (PyBytes_Check (obj)) { xmlChar *str; str = xmlStrndup((const xmlChar *) PyBytes_AS_STRING(obj), PyBytes_GET_SIZE(obj)); ret = xmlXPathWrapString(str); #ifdef PyUnicode_Check - } else if PyUnicode_Check (obj) { + } else if (PyUnicode_Check (obj)) { #if PY_VERSION_HEX >= 0x03030000 xmlChar *str; const char *tmp; @@ -650,7 +650,7 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj) ret = xmlXPathWrapString(str); #endif #endif - } else if PyList_Check (obj) { + } else if (PyList_Check (obj)) { int i; PyObject *node; xmlNodePtr cur; @@ -125,11 +125,11 @@ typedef enum { XML_RELAXNG_EXCEPT, /* except present in nameclass defs */ XML_RELAXNG_TEXT, /* textual content */ XML_RELAXNG_ELEMENT, /* an element */ - XML_RELAXNG_DATATYPE, /* extenal data type definition */ - XML_RELAXNG_PARAM, /* extenal data type parameter */ - XML_RELAXNG_VALUE, /* value from an extenal data type definition */ + XML_RELAXNG_DATATYPE, /* external data type definition */ + XML_RELAXNG_PARAM, /* external data type parameter */ + XML_RELAXNG_VALUE, /* value from an external data type definition */ XML_RELAXNG_LIST, /* a list of patterns */ - XML_RELAXNG_ATTRIBUTE, /* an attrbute following a pattern */ + XML_RELAXNG_ATTRIBUTE, /* an attribute following a pattern */ XML_RELAXNG_DEF, /* a definition */ XML_RELAXNG_REF, /* reference to a definition */ XML_RELAXNG_EXTERNALREF, /* reference to an external def */ @@ -228,7 +228,7 @@ struct _xmlRelaxNGParserCtxt { xmlDocPtr document; int defNr; /* number of defines used */ - int defMax; /* number of defines aloocated */ + int defMax; /* number of defines allocated */ xmlRelaxNGDefinePtr *defTab; /* pointer to the allocated definitions */ const char *buffer; @@ -430,7 +430,7 @@ struct _xmlRelaxNGDocument { /** * xmlRngPErrMemory: * @ctxt: an Relax-NG parser context - * @extra: extra informations + * @extra: extra information * * Handle a redefinition of attribute error */ @@ -465,7 +465,7 @@ xmlRngPErrMemory(xmlRelaxNGParserCtxtPtr ctxt, const char *extra) /** * xmlRngVErrMemory: * @ctxt: a Relax-NG validation context - * @extra: extra informations + * @extra: extra information * * Handle a redefinition of attribute error */ @@ -1128,7 +1128,7 @@ xmlRelaxNGAddStates(xmlRelaxNGValidCtxtPtr ctxt, /** * xmlRelaxNGFreeStates: * @ctxt: a Relax-NG validation context - * @states: teh container + * @states: the container * * Free a RelaxNG validation state container */ @@ -1340,7 +1340,7 @@ xmlRelaxNGCopyValidState(xmlRelaxNGValidCtxtPtr ctxt, * * Compare the validation states for equality * - * Returns 1 if equald, 0 otherwise + * Returns 1 if equal, 0 otherwise */ static int xmlRelaxNGEqualValidState(xmlRelaxNGValidCtxtPtr ctxt ATTRIBUTE_UNUSED, @@ -1409,7 +1409,7 @@ xmlRelaxNGFreeValidState(xmlRelaxNGValidCtxtPtr ctxt, * @ctxt: a RelaxNG parser context * @flags: a set of flags values * - * Semi private function used to pass informations to a parser context + * Semi private function used to pass information to a parser context * which are a combination of xmlRelaxNGParserFlag . * * Returns 0 if success and -1 in case of error @@ -2815,7 +2815,7 @@ xmlRelaxNGRegisterTypeLibrary(const xmlChar * namespace, void *data, /** * xmlRelaxNGInitTypes: * - * Initilize the default type libraries. + * Initialize the default type libraries. * * Returns 0 in case of success and -1 in case of error. */ @@ -2878,7 +2878,7 @@ static int xmlRelaxNGTryCompile(xmlRelaxNGParserCtxtPtr ctxt, xmlRelaxNGDefinePtr def); /** - * xmlRelaxNGIsCompileable: + * xmlRelaxNGIsCompilable: * @define: the definition to check * * Check if a definition is nullable. @@ -2886,7 +2886,7 @@ static int xmlRelaxNGTryCompile(xmlRelaxNGParserCtxtPtr ctxt, * Returns 1 if yes, 0 if no and -1 in case of error */ static int -xmlRelaxNGIsCompileable(xmlRelaxNGDefinePtr def) +xmlRelaxNGIsCompilable(xmlRelaxNGDefinePtr def) { int ret = -1; @@ -2901,7 +2901,7 @@ xmlRelaxNGIsCompileable(xmlRelaxNGDefinePtr def) return (0); switch (def->type) { case XML_RELAXNG_NOOP: - ret = xmlRelaxNGIsCompileable(def->content); + ret = xmlRelaxNGIsCompilable(def->content); break; case XML_RELAXNG_TEXT: case XML_RELAXNG_EMPTY: @@ -2909,7 +2909,7 @@ xmlRelaxNGIsCompileable(xmlRelaxNGDefinePtr def) break; case XML_RELAXNG_ELEMENT: /* - * Check if the element content is compileable + * Check if the element content is compilable */ if (((def->dflags & IS_NOT_COMPILABLE) == 0) && ((def->dflags & IS_COMPILABLE) == 0)) { @@ -2917,7 +2917,7 @@ xmlRelaxNGIsCompileable(xmlRelaxNGDefinePtr def) list = def->content; while (list != NULL) { - ret = xmlRelaxNGIsCompileable(list); + ret = xmlRelaxNGIsCompilable(list); if (ret != 1) break; list = list->next; @@ -2943,13 +2943,13 @@ xmlRelaxNGIsCompileable(xmlRelaxNGDefinePtr def) def->name); } else { xmlGenericError(xmlGenericErrorContext, - "Problem in RelaxNGIsCompileable for element %s\n", + "Problem in RelaxNGIsCompilable for element %s\n", def->name); } #endif } /* - * All elements return a compileable status unless they + * All elements return a compilable status unless they * are generic like anyName */ if ((def->nameClass != NULL) || (def->name == NULL)) @@ -2968,7 +2968,7 @@ xmlRelaxNGIsCompileable(xmlRelaxNGDefinePtr def) def->depth = -20; list = def->content; while (list != NULL) { - ret = xmlRelaxNGIsCompileable(list); + ret = xmlRelaxNGIsCompilable(list); if (ret != 1) break; list = list->next; @@ -2986,7 +2986,7 @@ xmlRelaxNGIsCompileable(xmlRelaxNGDefinePtr def) list = def->content; while (list != NULL) { - ret = xmlRelaxNGIsCompileable(list); + ret = xmlRelaxNGIsCompilable(list); if (ret != 1) break; list = list->next; @@ -3011,15 +3011,15 @@ xmlRelaxNGIsCompileable(xmlRelaxNGDefinePtr def) #ifdef DEBUG_COMPILE if (ret == 1) { xmlGenericError(xmlGenericErrorContext, - "RelaxNGIsCompileable %s : true\n", + "RelaxNGIsCompilable %s : true\n", xmlRelaxNGDefName(def)); } else if (ret == 0) { xmlGenericError(xmlGenericErrorContext, - "RelaxNGIsCompileable %s : false\n", + "RelaxNGIsCompilable %s : false\n", xmlRelaxNGDefName(def)); } else { xmlGenericError(xmlGenericErrorContext, - "Problem in RelaxNGIsCompileable %s\n", + "Problem in RelaxNGIsCompilable %s\n", xmlRelaxNGDefName(def)); } #endif @@ -3047,7 +3047,7 @@ xmlRelaxNGCompile(xmlRelaxNGParserCtxtPtr ctxt, xmlRelaxNGDefinePtr def) switch (def->type) { case XML_RELAXNG_START: - if ((xmlRelaxNGIsCompileable(def) == 1) && (def->depth != -25)) { + if ((xmlRelaxNGIsCompilable(def) == 1) && (def->depth != -25)) { xmlAutomataPtr oldam = ctxt->am; xmlAutomataStatePtr oldstate = ctxt->state; @@ -3273,7 +3273,7 @@ xmlRelaxNGTryCompile(xmlRelaxNGParserCtxtPtr ctxt, xmlRelaxNGDefinePtr def) if ((def->type == XML_RELAXNG_START) || (def->type == XML_RELAXNG_ELEMENT)) { - ret = xmlRelaxNGIsCompileable(def); + ret = xmlRelaxNGIsCompilable(def); if ((def->dflags & IS_COMPILABLE) && (def->depth != -25)) { ctxt->am = NULL; ret = xmlRelaxNGCompile(ctxt, def); @@ -3478,7 +3478,7 @@ xmlRelaxNGIsBlank(xmlChar * str) * * Applies algorithm from 4.3. datatypeLibrary attribute * - * Returns the datatypeLibary value or NULL if not found + * Returns the datatypeLibrary value or NULL if not found */ static xmlChar * xmlRelaxNGGetDataTypeLibrary(xmlRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED, @@ -3788,7 +3788,7 @@ static const xmlChar *invalidName = BAD_CAST "\1"; * that if both lists do not accept the same QNames, it returns 1 * If the 2 lists can accept the same QName the comparison returns 0 * - * Returns 1 disttinct, 0 if equal + * Returns 1 distinct, 0 if equal */ static int xmlRelaxNGCompareNameClasses(xmlRelaxNGDefinePtr def1, @@ -3889,7 +3889,7 @@ xmlRelaxNGCompareNameClasses(xmlRelaxNGDefinePtr def1, * is that if both lists do not accept the same QNames, it returns 1 * If the 2 lists can accept the same QName the comparison returns 0 * - * Returns 1 disttinct, 0 if equal + * Returns 1 distinct, 0 if equal */ static int xmlRelaxNGCompareElemDefLists(xmlRelaxNGParserCtxtPtr ctxt @@ -4743,9 +4743,9 @@ xmlRelaxNGParseImportRefs(xmlRelaxNGParserCtxtPtr ctxt, /** * xmlRelaxNGProcessExternalRef: * @ctxt: the parser context - * @node: the externlRef node + * @node: the externalRef node * - * Process and compile an externlRef node + * Process and compile an externalRef node * * Returns the xmlRelaxNGDefinePtr or NULL in case of error */ @@ -5548,12 +5548,16 @@ xmlRelaxNGParsePatterns(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes, while (nodes != NULL) { if (IS_RELAXNG(nodes, "element")) { cur = xmlRelaxNGParseElement(ctxt, nodes); + if (cur == NULL) + return (NULL); if (def == NULL) { def = last = cur; } else { if ((group == 1) && (def->type == XML_RELAXNG_ELEMENT) && (def == last)) { def = xmlRelaxNGNewDefine(ctxt, nodes); + if (def == NULL) + return (NULL); def->type = XML_RELAXNG_GROUP; def->content = last; } @@ -6012,7 +6016,7 @@ xmlRelaxNGCheckCycles(xmlRelaxNGParserCtxtPtr ctxt, * @parent: the parent definition * @prev: the previous sibling definition * - * Try to unlink a definition. If not possble make it a NOOP + * Try to unlink a definition. If not possible make it a NOOP * * Returns the new prev definition */ @@ -6395,7 +6399,10 @@ xmlRelaxNGCheckRules(xmlRelaxNGParserCtxtPtr ctxt, NULL, NULL); } if ((!(flags & XML_RELAXNG_IN_ONEORMORE)) - && (cur->name == NULL)) { + && cur->name == NULL + /* following is checking alternative name class readiness + in case it went the "choice" route */ + && cur->nameClass == NULL) { if (cur->ns == NULL) { xmlRngPErr(ctxt, cur->node, XML_RNGP_ANYNAME_ATTR_ANCESTOR, "Found anyName attribute without oneOrMore ancestor\n", @@ -6659,7 +6666,7 @@ xmlRelaxNGParseGrammar(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes) * @node: the root node of the RelaxNG schema * * parse a Relax-NG definition resource and build an internal - * xmlRelaxNG struture which can be used to validate instances. + * xmlRelaxNG structure which can be used to validate instances. * * Returns the internal XML RelaxNG structure built or * NULL in case of error @@ -7490,7 +7497,7 @@ xmlRelaxNGCleanupDoc(xmlRelaxNGParserCtxtPtr ctxt, xmlDocPtr doc) * @ctxt: a Relax-NG parser context * * parse a schema definition resource and build an internal - * XML Shema struture which can be used to validate instances. + * XML Schema structure which can be used to validate instances. * * Returns the internal XML RelaxNG structure built from the resource or * NULL in case of error @@ -8158,7 +8165,7 @@ xmlRelaxNGElemPop(xmlRelaxNGValidCtxtPtr ctxt) @ @inputdata: callback data, the Relax NG validation context * * Handle the callback and if needed validate the element children. - * some of the in/out informations are passed via the context in @inputdata. + * some of the in/out information are passed via the context in @inputdata. */ static void xmlRelaxNGValidateProgressiveCallback(xmlRegExecCtxtPtr exec @@ -8603,7 +8610,7 @@ xmlRelaxNGNormalize(xmlRelaxNGValidCtxtPtr ctxt, const xmlChar * str) * @type: the datatype definition * @node: the node * - * Validate the given value against the dataype + * Validate the given value against the datatype * * Returns 0 if the validation succeeded or an error code. */ @@ -9476,7 +9483,17 @@ xmlRelaxNGValidateInterleave(xmlRelaxNGValidCtxtPtr ctxt, xmlRelaxNGFreeValidState(ctxt, oldstate); oldstate = ctxt->state; ctxt->state = NULL; - if (cur != NULL) { + if (cur != NULL + /* there's a nasty violation of context-free unambiguities, + since in open-name-class context, interleave in the + production shall finish without caring about anything + else that is OK to follow in that case -- it would + otherwise get marked as "extra content" and would + hence fail the validation, hence this perhaps + dirty attempt to rectify such a situation */ + && (define->parent->type != XML_RELAXNG_DEF + || !xmlStrEqual(define->parent->name, + (const xmlChar *) "open-name-class"))) { VALID_ERR2(XML_RELAXNG_ERR_INTEREXTRA, cur->name); ret = -1; ctxt->state = oldstate; @@ -9749,7 +9766,7 @@ xmlRelaxNGElementMatch(xmlRelaxNGValidCtxtPtr ctxt, * Find the "best" state in the ctxt->states list of states to report * errors about. I.e. a state with no element left in the child list * or the one with the less attributes left. - * This is called only if a falidation error was detected + * This is called only if a validation error was detected * * Returns the index of the "best" state or -1 in case of error */ @@ -9891,7 +9908,6 @@ xmlRelaxNGValidateState(xmlRelaxNGValidCtxtPtr ctxt, ctxt->depth++; switch (define->type) { case XML_RELAXNG_EMPTY: - xmlRelaxNGSkipIgnored(ctxt, node); ret = 0; break; case XML_RELAXNG_NOT_ALLOWED: @@ -10357,7 +10373,7 @@ xmlRelaxNGValidateState(xmlRelaxNGValidCtxtPtr ctxt, /* * Something we can optimize cleanly there is only one - * possble branch out ! + * possible branch out ! */ if ((node->type == XML_TEXT_NODE) || (node->type == XML_CDATA_SECTION_NODE)) { @@ -10610,7 +10626,7 @@ xmlRelaxNGValidateState(xmlRelaxNGValidCtxtPtr ctxt, if (define->name != NULL) xmlGenericError(xmlGenericErrorContext, "%s ", define->name); if (ret == 0) - xmlGenericError(xmlGenericErrorContext, "suceeded\n"); + xmlGenericError(xmlGenericErrorContext, "succeeded\n"); else xmlGenericError(xmlGenericErrorContext, "failed\n"); #endif @@ -10984,7 +11000,7 @@ xmlRelaxNGFreeValidCtxt(xmlRelaxNGValidCtxtPtr ctxt) * @warn: the warning function * @ctx: the functions context * - * Set the error and warning callback informations + * Set the error and warning callback information */ void xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt, @@ -11026,7 +11042,7 @@ xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt, * @warn: the warning function result * @ctx: the functions context result * - * Get the error and warning callback informations + * Get the error and warning callback information * * Returns -1 in case of error and 0 otherwise */ diff --git a/result/HTML/758606.html b/result/HTML/758606.html index 4f21f628..3974ca90 100644 --- a/result/HTML/758606.html +++ b/result/HTML/758606.html @@ -1,2 +1,2 @@ -<!DOCTYPE > +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> diff --git a/result/HTML/758606.html.err b/result/HTML/758606.html.err index 060433a8..e3e61265 100644 --- a/result/HTML/758606.html.err +++ b/result/HTML/758606.html.err @@ -1,16 +1,7 @@ -./test/HTML/758606.html:1: HTML parser error : Comment not terminated -<!-- +./test/HTML/758606.html:1: HTML parser error : Invalid char in comment 0xC <!--<!doctype - ^ -./test/HTML/758606.html:1: HTML parser error : Invalid char in CDATA 0xC -<!--<!doctype - ^ -./test/HTML/758606.html:1: HTML parser error : Misplaced DOCTYPE declaration -<!--<!doctype - ^ -./test/HTML/758606.html:2: HTML parser error : htmlParseDocTypeDecl : no DOCTYPE name ! - -^ -./test/HTML/758606.html:2: HTML parser error : DOCTYPE improperly terminated + ^ +./test/HTML/758606.html:2: HTML parser error : Comment not terminated +<!--<!doctyp ^ diff --git a/result/HTML/758606.html.sax b/result/HTML/758606.html.sax index d44a5cf4..a21a9f82 100644 --- a/result/HTML/758606.html.sax +++ b/result/HTML/758606.html.sax @@ -1,10 +1,6 @@ SAX.setDocumentLocator() SAX.startDocument() +SAX.error: Invalid char in comment 0xC SAX.error: Comment not terminated -<!-- -SAX.error: Invalid char in CDATA 0xC -SAX.error: Misplaced DOCTYPE declaration -SAX.error: htmlParseDocTypeDecl : no DOCTYPE name ! -SAX.error: DOCTYPE improperly terminated -SAX.internalSubset((null), , ) +<!--<!doctyp SAX.endDocument() diff --git a/result/HTML/758606_2.html b/result/HTML/758606_2.html index 273816a0..3974ca90 100644 --- a/result/HTML/758606_2.html +++ b/result/HTML/758606_2.html @@ -1,2 +1,2 @@ -<!DOCTYPE > -<html><body><p>‘</p></body></html> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> + diff --git a/result/HTML/758606_2.html.err b/result/HTML/758606_2.html.err index 4be039f4..e9bf4060 100644 --- a/result/HTML/758606_2.html.err +++ b/result/HTML/758606_2.html.err @@ -1,16 +1,7 @@ -./test/HTML/758606_2.html:1: HTML parser error : Comment not terminated -<!-- -<!--‘<!dOctYPE - ^ -./test/HTML/758606_2.html:1: HTML parser error : Invalid char in CDATA 0xC -<!--‘<!dOctYPE - ^ -./test/HTML/758606_2.html:1: HTML parser error : Misplaced DOCTYPE declaration +./test/HTML/758606_2.html:1: HTML parser error : Invalid char in comment 0xC ‘<!dOctYPE ^ -./test/HTML/758606_2.html:2: HTML parser error : htmlParseDocTypeDecl : no DOCTYPE name ! - -^ -./test/HTML/758606_2.html:2: HTML parser error : DOCTYPE improperly terminated +./test/HTML/758606_2.html:2: HTML parser error : Comment not terminated +<!--‘<!dOctYP ^ diff --git a/result/HTML/758606_2.html.sax b/result/HTML/758606_2.html.sax index 80ff3d77..8a46d9ca 100644 --- a/result/HTML/758606_2.html.sax +++ b/result/HTML/758606_2.html.sax @@ -1,17 +1,6 @@ SAX.setDocumentLocator() SAX.startDocument() +SAX.error: Invalid char in comment 0xC SAX.error: Comment not terminated -<!-- -SAX.error: Invalid char in CDATA 0xC -SAX.startElement(html) -SAX.startElement(body) -SAX.startElement(p) -SAX.characters(‘, 2) -SAX.error: Misplaced DOCTYPE declaration -SAX.error: htmlParseDocTypeDecl : no DOCTYPE name ! -SAX.error: DOCTYPE improperly terminated -SAX.internalSubset((null), , ) -SAX.endElement(p) -SAX.endElement(body) -SAX.endElement(html) +<!--‘<!dOctYP SAX.endDocument() diff --git a/result/HTML/chunked_attr.html b/result/HTML/chunked_attr.html new file mode 100644 index 00000000..2fd71a6e --- /dev/null +++ b/result/HTML/chunked_attr.html @@ -0,0 +1,46 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<html> +<!-- +This tests internal state tracking of the push parser and assumes a chunk +size of 4096 (or a divisor of 4096) and an initial chunk of size 4. +Make sure that the first '<' in the attribute value ends up near +offset 4100. +--> +<body> +<p> +Filler bytes follow: + + 100 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 200 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 300 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 400 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 500 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 600 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 700 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 800 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 900 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 1000 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 100 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 200 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 300 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 400 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 500 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 600 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 700 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 800 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 900 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 2000 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 100 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 200 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 300 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 400 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 500 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 600 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 700 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 800 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 +xxx +</p> +<div fill1="123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789" onmouseover="x<b>text</b>x" fill2="123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789" fill3="123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789" fill4="123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789" fill5="123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789" fill6="123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789"> +</div> +</body> +</html> diff --git a/result/HTML/chunked_attr.html.err b/result/HTML/chunked_attr.html.err new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/HTML/chunked_attr.html.err diff --git a/result/HTML/chunked_attr.html.sax b/result/HTML/chunked_attr.html.sax new file mode 100644 index 00000000..5f9e9702 --- /dev/null +++ b/result/HTML/chunked_attr.html.sax @@ -0,0 +1,41 @@ +SAX.setDocumentLocator() +SAX.startDocument() +SAX.startElement(html) +SAX.characters( +, 1) +SAX.comment( +This tests internal state tracking of the push parser and assumes a chunk +size of 4096 (or a divisor of 4096) and an initial chunk of size 4. +Make sure that the first '<' in the attribute value ends up near +offset 4100. +) +SAX.characters( +, 1) +SAX.startElement(body) +SAX.characters( +, 1) +SAX.startElement(p) +SAX.characters( +Filler bytes follow: + + 1, 1000) +SAX.characters(89 123456789 123456789 + 1, 1000) +SAX.characters(89 123456789 123456789 + 1, 827) +SAX.endElement(p) +SAX.characters( +, 1) +SAX.startElement(div, fill1='123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789', onmouseover='x<b>text</b>x', fill2='123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789', fill3='123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789', fill4='123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789', fill5='123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789', fill6='123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789') +SAX.characters( +, 1) +SAX.endElement(div) +SAX.characters( +, 1) +SAX.endElement(body) +SAX.characters( +, 1) +SAX.endElement(html) +SAX.characters( +, 1) +SAX.endDocument() diff --git a/result/HTML/doc3.htm b/result/HTML/doc3.htm index e9d5e448..2cc68b9b 100644 --- a/result/HTML/doc3.htm +++ b/result/HTML/doc3.htm @@ -521,7 +521,6 @@ eval("page" + id + " = window.open(URL, '" + id + "', 'toolbars=0, scrollbars=0, document.write("ype=js&size=100x90&url=http://www.goto.com/");
document.write("d/search/ssn/&target=_blank&Partner=SSN8042");
document.write("DF8478957377>");
- document.write("RIPT>");
} else {
document.write("<A TARGET=_blank ");
document.write("HREF=http://www.goto.com/d/search/ssn/?from");
diff --git a/result/HTML/doc3.htm.err b/result/HTML/doc3.htm.err index cdf715a6..5e2491da 100644 --- a/result/HTML/doc3.htm.err +++ b/result/HTML/doc3.htm.err @@ -46,9 +46,9 @@ om/ad_static.asp?pid=2097&sid=1881&asid=7708"></a></IFRAME></CENTER></LI></FONT> ./test/HTML/doc3.htm:803: HTML parser error : End tag : expected '>' document.write("DF8478957377></SC"); ^ -./test/HTML/doc3.htm:803: HTML parser error : Unexpected end tag : sc - document.write("DF8478957377></SC"); - ^ +./test/HTML/doc3.htm:804: HTML parser error : Unexpected end tag : sc + document.write("RIPT>"); + ^ ./test/HTML/doc3.htm:811: HTML parser error : Unexpected end tag : a document.write("ype=gif&size=100x90></A>"); ^ diff --git a/result/HTML/doc3.htm.sax b/result/HTML/doc3.htm.sax index fb33cf22..9237ad3c 100644 --- a/result/HTML/doc3.htm.sax +++ b/result/HTML/doc3.htm.sax @@ -2700,7 +2700,8 @@ SAX.cdata("); SAX.error: End tag : expected '>' SAX.error: Unexpected end tag : sc SAX.cdata(");
- document.write("RI, 361) + } else {
+ d, 328) SAX.error: Unexpected end tag : a SAX.cdata(");
}
diff --git a/result/HTML/wired.html b/result/HTML/wired.html index 74d366e3..3da303f8 100644 --- a/result/HTML/wired.html +++ b/result/HTML/wired.html @@ -462,13 +462,13 @@ or <a href="/news/pointcast/0,1366,,00.html">PointCast</a></font><br> <font size="2" face="Arial,Helvetica, sans-serif"><b><a href="/news/school/0,1383,,00.html">Making the Grade</a></b></font><br><font size="2" face="Arial, Helvetica, sans-serif"><font size="1" face="Arial, Geneva, sans-serif" color="#000000">Reading, writing, and ROM. <br><i>Sponsored by <a href="http://r.hotwired.com/r/wn_sch_r_nav_uop/http://ads25.focalink.com/SmartBanner/page?12630.53" style="text-decoration:none"><font color="#000000">U of Phoenix</font></a></i></font><br><br> -<font size="2" face="Arial,Helvetica, sans-serif"><b><a href="/news/infostructure/0,1377,,00.html">Infostructure</a></b></font><br><font size="1" face="Arial, Helvetica, sans-serif" color="#000000">An IS/IT resource <br><i>Sponsored by <a href="http://r.wired.com/r/wn_is_r_ssec/http://ad.doubleclick.net/clk;653163;3599571;s?http://www.sprintbiz.com/s%0Aervlet/appservlet?from=/wired/sprint/&template=/security/security.html&SITE=%0Awired.com&BANNER=Sprint" style="text-decoration:none"><font color="#000000">Sprint</font></a></i></font></font><br><br> +<font size="2" face="Arial,Helvetica, sans-serif"><b><a href="/news/infostructure/0,1377,,00.html">Infostructure</a></b></font><br><font size="1" face="Arial, Helvetica, sans-serif" color="#000000">An IS/IT resource <br><i>Sponsored by <a href="http://r.wired.com/r/wn_is_r_ssec/http://ad.doubleclick.net/clk;653163;3599571;s?http://www.sprintbiz.com/s%0Aervlet/appservlet?from=/wired/sprint/&template=/security/security.html&SITE=%0Awired.com&BANNER=Sprint" style="text-decoration:none"><font color="#000000">Sprint</font></a></i></font><br><br> <font size="2" face="Arial,Helvetica, sans-serif"><b><a href="/news/y2k/0,1360,,00.html">Y2K Watch</a></b></font><br><font size="2" face="Arial, Helvetica, sans-serif"><font size="1" face="Arial, Geneva, sans-serif" color="#000000">Tick... Tick... Tick...</font><br><br> <font face="Arial, Helvetica, sans-serif" size="2"><b><i><a href="/news/special_reports/1,1293,,00.html">More Hoo-Ha</a></i></b></font><br> <br> -</font></font></font></font></font></font></font></font> +</font></font></font></font></font></font></font></font></font> </td> </tr> <!-- start of Gen News --> diff --git a/result/HTML/wired.html.err b/result/HTML/wired.html.err index 70db11b0..116bbd2f 100644 --- a/result/HTML/wired.html.err +++ b/result/HTML/wired.html.err @@ -244,6 +244,9 @@ com&BANNER=Sprint" style="text-decoration:none"><font color="#000000">Sprint</a> ./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font </td> ^ +./test/HTML/wired.html:414: HTML parser error : Opening and ending tag mismatch: td and font +</td> + ^ ./test/HTML/wired.html:432: HTML parser error : htmlParseEntityRef: expecting ';' href="http://www.lycos.com/news/flash/hitlerbunker.html?v=wn1015&lpv=1">Lycos</a ^ diff --git a/result/HTML/wired.html.sax b/result/HTML/wired.html.sax index d5b16297..bb787656 100644 --- a/result/HTML/wired.html.sax +++ b/result/HTML/wired.html.sax @@ -1962,7 +1962,6 @@ SAX.endElement(a) SAX.endElement(i) SAX.error: End tag : expected '>' SAX.endElement(font) -SAX.endElement(font) SAX.startElement(br) SAX.endElement(br) SAX.startElement(br) @@ -2023,6 +2022,8 @@ SAX.error: Opening and ending tag mismatch: td and font SAX.endElement(font) SAX.error: Opening and ending tag mismatch: td and font SAX.endElement(font) +SAX.error: Opening and ending tag mismatch: td and font +SAX.endElement(font) SAX.endElement(td) SAX.characters( , 1) diff --git a/result/XInclude/fallback.xml b/result/XInclude/fallback.xml index d7eed528..6f41f80b 100644 --- a/result/XInclude/fallback.xml +++ b/result/XInclude/fallback.xml @@ -1,5 +1,5 @@ <?xml version="1.0"?> <x xmlns:xinclude="http://www.w3.org/2001/XInclude"> - <!-- Simple test of a fallback on unavailble URI --> + <!-- Simple test of a fallback on unavailable URI --> <warning>Inclusion failed</warning> </x> diff --git a/result/XInclude/fallback.xml.rdr b/result/XInclude/fallback.xml.rdr index 82072f73..d558872c 100644 --- a/result/XInclude/fallback.xml.rdr +++ b/result/XInclude/fallback.xml.rdr @@ -1,7 +1,7 @@ 0 1 x 0 0 1 14 #text 0 1 -1 8 #comment 0 1 Simple test of a fallback on unavailble URI +1 8 #comment 0 1 Simple test of a fallback on unavailable URI 1 14 #text 0 1 1 1 warning 0 0 diff --git a/result/XPath/expr/strings b/result/XPath/expr/strings index 1ae5cc40..4b0125cf 100644 --- a/result/XPath/expr/strings +++ b/result/XPath/expr/strings @@ -136,6 +136,14 @@ Expression: substring("12345",-1 div 0,5) Object is a string : ======================== +Expression: substring("12345",-0.7,4) +Object is a string : 12 + +======================== +Expression: substring("12345",-5000000000,5000000004) +Object is a string : 123 + +======================== Expression: string-length("") Object is a number : 0 diff --git a/result/XPath/tests/chaptersbase b/result/XPath/tests/chaptersbase index fd021d8a..2d8b10c6 100644 --- a/result/XPath/tests/chaptersbase +++ b/result/XPath/tests/chaptersbase @@ -138,3 +138,31 @@ Set contains 0 nodes: Expression: //p[-100000000000000000000] Object is a Node Set : Set contains 0 nodes: + +======================== +Expression: //chapter[true()][position() mod 2 = 1][true()][2] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter3 + +======================== +Expression: //chapter[true()][2][true()] +Object is a Node Set : +Set contains 1 nodes: +1 ELEMENT chapter + ATTRIBUTE id + TEXT + content=chapter2 + +======================== +Expression: //node()[false()] +Object is a Node Set : +Set contains 0 nodes: + +======================== +Expression: (//node())[false()] +Object is a Node Set : +Set contains 0 nodes: diff --git a/result/att7.rde b/result/att7.rde index afcef5fe..60796379 100644 --- a/result/att7.rde +++ b/result/att7.rde @@ -5,8 +5,7 @@ 1 1 test 1 0 1 14 #text 0 1 -1 1 test 0 0 -1 15 test 0 0 +1 1 test 1 0 1 14 #text 0 1 0 15 x 0 0 diff --git a/result/c14n/1-1-without-comments/example-1 b/result/c14n/1-1-without-comments/example-1 index af9a9770..af9a9770 100755..100644 --- a/result/c14n/1-1-without-comments/example-1 +++ b/result/c14n/1-1-without-comments/example-1 diff --git a/result/c14n/1-1-without-comments/example-2 b/result/c14n/1-1-without-comments/example-2 index 2afa15cc..2afa15cc 100755..100644 --- a/result/c14n/1-1-without-comments/example-2 +++ b/result/c14n/1-1-without-comments/example-2 diff --git a/result/c14n/1-1-without-comments/example-3 b/result/c14n/1-1-without-comments/example-3 index 4c287e6e..4c287e6e 100755..100644 --- a/result/c14n/1-1-without-comments/example-3 +++ b/result/c14n/1-1-without-comments/example-3 diff --git a/result/c14n/1-1-without-comments/example-4 b/result/c14n/1-1-without-comments/example-4 index 19a25592..19a25592 100755..100644 --- a/result/c14n/1-1-without-comments/example-4 +++ b/result/c14n/1-1-without-comments/example-4 diff --git a/result/c14n/1-1-without-comments/example-5 b/result/c14n/1-1-without-comments/example-5 index c232e740..c232e740 100755..100644 --- a/result/c14n/1-1-without-comments/example-5 +++ b/result/c14n/1-1-without-comments/example-5 diff --git a/result/c14n/1-1-without-comments/example-6 b/result/c14n/1-1-without-comments/example-6 index 0be38f98..0be38f98 100755..100644 --- a/result/c14n/1-1-without-comments/example-6 +++ b/result/c14n/1-1-without-comments/example-6 diff --git a/result/c14n/1-1-without-comments/example-7 b/result/c14n/1-1-without-comments/example-7 index 0a96cc4d..0a96cc4d 100755..100644 --- a/result/c14n/1-1-without-comments/example-7 +++ b/result/c14n/1-1-without-comments/example-7 diff --git a/result/c14n/1-1-without-comments/example-8 b/result/c14n/1-1-without-comments/example-8 index eb830e81..eb830e81 100755..100644 --- a/result/c14n/1-1-without-comments/example-8 +++ b/result/c14n/1-1-without-comments/example-8 diff --git a/result/ent9.rde b/result/ent9.rde index 38b9f431..22061467 100644 --- a/result/ent9.rde +++ b/result/ent9.rde @@ -12,8 +12,7 @@ 2 1 c 0 0 2 15 c 0 0 2 3 #text 0 1 , -2 1 d 0 0 -2 15 d 0 0 +2 1 d 1 0 1 15 ent 0 0 1 14 #text 0 1 @@ -292,8 +291,7 @@ 2 1 c 0 0 2 15 c 0 0 2 3 #text 0 1 , -2 1 d 0 0 -2 15 d 0 0 +2 1 d 1 0 1 15 ent 0 0 1 14 #text 0 1 diff --git a/result/errors/754946.xml.ent b/result/errors/754946.xml.ent new file mode 100644 index 00000000..be777817 --- /dev/null +++ b/result/errors/754946.xml.ent @@ -0,0 +1,20 @@ +./test/errors/754946.xml:3: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + + %SYSTEM; + ^ +Entity: line 1: +A<lbbbbbbbbbbbbbbbbbbb_ +^ +./test/errors/754946.xml:4: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + + <![ + ^ +./test/errors/754946.xml:4: parser error : DOCTYPE improperly terminated + <![ + ^ +./test/errors/754946.xml:4: parser error : StartTag: invalid element name + <![ + ^ +./test/errors/754946.xml:4: parser error : Extra content at the end of the document + <![ + ^ diff --git a/result/errors/754947.xml.ent b/result/errors/754947.xml.ent new file mode 100644 index 00000000..51e9b4ed --- /dev/null +++ b/result/errors/754947.xml.ent @@ -0,0 +1,7 @@ +./test/errors/754947.xml:1: parser error : Input is not proper UTF-8, indicate encoding ! +Bytes: 0xEE 0x5D 0x5D 0x3E +<d><![CDATA[0000000000000î]]> + ^ +./test/errors/754947.xml:1: parser error : EndTag: '</' not found +<d><![CDATA[0000000000000î]]> + ^ diff --git a/result/errors/754947.xml.err b/result/errors/754947.xml.err index f45cb5a2..51e9b4ed 100644 --- a/result/errors/754947.xml.err +++ b/result/errors/754947.xml.err @@ -2,6 +2,6 @@ Bytes: 0xEE 0x5D 0x5D 0x3E <d><![CDATA[0000000000000î]]> ^ -./test/errors/754947.xml:1: parser error : Premature end of data in tag d line 1 +./test/errors/754947.xml:1: parser error : EndTag: '</' not found <d><![CDATA[0000000000000î]]> ^ diff --git a/result/errors/758588.xml.ent b/result/errors/758588.xml.ent new file mode 100644 index 00000000..dfa59bcf --- /dev/null +++ b/result/errors/758588.xml.ent @@ -0,0 +1,9 @@ +./test/errors/758588.xml:1: namespace error : Namespace prefix a-340282366920938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867209384634725979468672093846347259794686720938463472597946867261d on a is not defined +63472597946867209384634725979468672093846347259794686720938463472597946867261d:a + ^ +./test/errors/758588.xml:1: parser error : expected '>' +2597946867209384634725979468672093846347259794686720938463472597946867261d:a></a + ^ +./test/errors/758588.xml:1: parser error : Opening and ending tag mismatch: a line 1 and a +2597946867209384634725979468672093846347259794686720938463472597946867261d:a></a + ^ diff --git a/result/errors/759020.xml.ent b/result/errors/759020.xml.ent new file mode 100644 index 00000000..a0d30517 --- /dev/null +++ b/result/errors/759020.xml.ent @@ -0,0 +1,6 @@ +./test/errors/759020.xml:3: namespace warning : xmlns: URI 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 is not absolute +0000000000000000000000000000000000000000000000000000000000000000000000000000000' + ^ +./test/errors/759020.xml:46: parser error : Couldn't find end of Start Tag s00 line 2 + + ^ diff --git a/result/errors/759398.xml.ent b/result/errors/759398.xml.ent new file mode 100644 index 00000000..bc9e5e03 --- /dev/null +++ b/result/errors/759398.xml.ent @@ -0,0 +1,12 @@ +./test/errors/759398.xml:210: parser error : StartTag: invalid element name +need to worry about parsers whi<! don't expand PErefs finding + ^ +./test/errors/759398.xml:309: parser error : Opening and ending tag mismatch: â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–m line 205 and termdef +and provide access to their content and structure.</termdef> <termdef + ^ +./test/errors/759398.xml:314: parser error : Opening and ending tag mismatch: spec line 205 and p +data and the information it must provide to the application.</p> + ^ +./test/errors/759398.xml:316: parser error : Extra content at the end of the document +<div2 id='sec-origin-goals'> +^ diff --git a/result/errors/759398.xml.err b/result/errors/759398.xml.err index f6036a3b..bc9e5e03 100644 --- a/result/errors/759398.xml.err +++ b/result/errors/759398.xml.err @@ -1,10 +1,10 @@ ./test/errors/759398.xml:210: parser error : StartTag: invalid element name need to worry about parsers whi<! don't expand PErefs finding ^ -./test/errors/759398.xml:309: parser error : Opening and ending tag mismatch: â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–m line 308 and termdef +./test/errors/759398.xml:309: parser error : Opening and ending tag mismatch: â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–â„–m line 205 and termdef and provide access to their content and structure.</termdef> <termdef ^ -./test/errors/759398.xml:314: parser error : Opening and ending tag mismatch: spec line 50 and p +./test/errors/759398.xml:314: parser error : Opening and ending tag mismatch: spec line 205 and p data and the information it must provide to the application.</p> ^ ./test/errors/759398.xml:316: parser error : Extra content at the end of the document diff --git a/result/errors/759573-2.xml.ent b/result/errors/759573-2.xml.ent new file mode 100644 index 00000000..4c454758 --- /dev/null +++ b/result/errors/759573-2.xml.ent @@ -0,0 +1,35 @@ +Entity: line 1: parser error : Space required after '<!ENTITY' +%zz; + ^ +Entity: line 1: +<!ENTITY<?xDOCTYPEm~?> + ^ +Entity: line 1: parser error : xmlParseEntityDecl: no name +%zz; + ^ +Entity: line 1: +<!ENTITY<?xDOCTYPEm~?> + ^ +Entity: line 1: parser error : ParsePI: PI xDOCTYPEm space expected +%zz; + ^ +Entity: line 1: +<!ENTITY<?xDOCTYPEm~?> + ^ +./test/errors/759573-2.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%xx;ÿggKENSMYNT#MENTDŴzz;'> + ^ +Entity: line 2: +<![INCLUDE[ +^ +./test/errors/759573-2.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +%xx;ÿggKENSMYNT#MENTDŴzz;'> + ^ +./test/errors/759573-2.xml:6: parser error : DOCTYPE improperly terminated +%xx;ÿggKENSMYNT#MENTDŴzz;'> + ^ +./test/errors/759573-2.xml:6: parser error : Start tag expected, '<' not found +%xx;ÿggKENSMYNT#MENTDŴzz;'> + ^ diff --git a/result/errors/759573-2.xml.err b/result/errors/759573-2.xml.err index 86d64209..4c454758 100644 --- a/result/errors/759573-2.xml.err +++ b/result/errors/759573-2.xml.err @@ -16,43 +16,20 @@ Entity: line 1: parser error : ParsePI: PI xDOCTYPEm space expected Entity: line 1: <!ENTITY<?xDOCTYPEm~?> ^ -Entity: line 3: parser error : Space required after '<!ENTITY' -%zz;<!ELEMENTD(%MENT%MENTDŹMENTD%zNMT9KENSMYSYSTEM;MENT9%zz; - ^ -Entity: line 1: -<!ENTITY<?xDOCTYPEm~?> - ^ -Entity: line 3: parser error : xmlParseEntityDecl: no name -%zz;<!ELEMENTD(%MENT%MENTDŹMENTD%zNMT9KENSMYSYSTEM;MENT9%zz; - ^ -Entity: line 1: -<!ENTITY<?xDOCTYPEm~?> - ^ -Entity: line 3: parser error : ParsePI: PI xDOCTYPEm space expected -%zz;<!ELEMENTD(%MENT%MENTDŹMENTD%zNMT9KENSMYSYSTEM;MENT9%zz; - ^ -Entity: line 1: -<!ENTITY<?xDOCTYPEm~?> - ^ -./test/errors/759573-2.xml:6: parser error : Space required after 'ELEMENT' -%xx;ÿggKENSMYNT#MENTDŴzz;'> - ^ -Entity: line 3: -%zz;<!ELEMENTD(%MENT%MENTDŹMENTD%zNMT9KENSMYSYSTEM;MENT9%zz; - ^ -./test/errors/759573-2.xml:6: parser error : Content error in the external subset +./test/errors/759573-2.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + %xx;ÿggKENSMYNT#MENTDŴzz;'> ^ -Entity: line 3: -%zz;<!ELEMENTD(%MENT%MENTDŹMENTD%zNMT9KENSMYSYSTEM;MENT9%zz; - ^ +Entity: line 2: +<![INCLUDE[ +^ ./test/errors/759573-2.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration - -^ +%xx;ÿggKENSMYNT#MENTDŴzz;'> + ^ ./test/errors/759573-2.xml:6: parser error : DOCTYPE improperly terminated - -^ +%xx;ÿggKENSMYNT#MENTDŴzz;'> + ^ ./test/errors/759573-2.xml:6: parser error : Start tag expected, '<' not found - -^ +%xx;ÿggKENSMYNT#MENTDŴzz;'> + ^ diff --git a/result/errors/759573.xml.ent b/result/errors/759573.xml.ent new file mode 100644 index 00000000..55247503 --- /dev/null +++ b/result/errors/759573.xml.ent @@ -0,0 +1,32 @@ +./test/errors/759573.xml:1: parser error : Space required after '<!ENTITY' +ELEMENT t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ000%z;'><!ENTITY + ^ +./test/errors/759573.xml:1: parser error : Space required after the entity name +LEMENT t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ000%z;'><!ENTITYz + ^ +./test/errors/759573.xml:1: parser error : Entity value required +LEMENT t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ000%z;'><!ENTITYz + ^ +./test/errors/759573.xml:1: parser error : PEReference: no name +T t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ000%z;'><!ENTITYz>%xx; + ^ +Entity: line 1: +%<![INCLUDE[000%ஸ000%z; + ^ +./test/errors/759573.xml:1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +T t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ000%z;'><!ENTITYz>%xx; + ^ +Entity: line 1: +%<![INCLUDE[000%ஸ000%z; + ^ +./test/errors/759573.xml:1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +T t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ000%z;'><!ENTITYz>%xx; + ^ +./test/errors/759573.xml:1: parser error : DOCTYPE improperly terminated +T t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ000%z;'><!ENTITYz>%xx; + ^ +./test/errors/759573.xml:1: parser error : Start tag expected, '<' not found +T t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ000%z;'><!ENTITYz>%xx; + ^ diff --git a/result/errors/759573.xml.err b/result/errors/759573.xml.err index 38ef5c40..55247503 100644 --- a/result/errors/759573.xml.err +++ b/result/errors/759573.xml.err @@ -13,19 +13,20 @@ T t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ000%z;'><!ENTITYz>%xx; Entity: line 1: %<![INCLUDE[000%ஸ000%z; ^ -./test/errors/759573.xml:1: parser error : Content error in the external subset +./test/errors/759573.xml:1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + T t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ000%z;'><!ENTITYz>%xx; ^ Entity: line 1: %<![INCLUDE[000%ஸ000%z; - ^ + ^ ./test/errors/759573.xml:1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration - -^ +T t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ000%z;'><!ENTITYz>%xx; + ^ ./test/errors/759573.xml:1: parser error : DOCTYPE improperly terminated - -^ +T t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ000%z;'><!ENTITYz>%xx; + ^ ./test/errors/759573.xml:1: parser error : Start tag expected, '<' not found - -^ +T t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ000%z;'><!ENTITYz>%xx; + ^ diff --git a/result/errors/759579.xml.ent b/result/errors/759579.xml.ent new file mode 100644 index 00000000..288026e6 --- /dev/null +++ b/result/errors/759579.xml.ent @@ -0,0 +1,6 @@ +Entity: line 2: parser error : Detected an entity reference loop + %z; %z; %z; %z; %z; + ^ +Entity: line 2: + %z; %z; %z; %z; %z; + ^ diff --git a/result/errors/attr1.xml.ent b/result/errors/attr1.xml.ent new file mode 100644 index 00000000..c4c4fc84 --- /dev/null +++ b/result/errors/attr1.xml.ent @@ -0,0 +1,9 @@ +./test/errors/attr1.xml:2: parser error : AttValue: ' expected + +^ +./test/errors/attr1.xml:2: parser error : attributes construct error + +^ +./test/errors/attr1.xml:2: parser error : Couldn't find end of Start Tag foo line 1 + +^ diff --git a/result/errors/attr2.xml.ent b/result/errors/attr2.xml.ent new file mode 100644 index 00000000..77e342e3 --- /dev/null +++ b/result/errors/attr2.xml.ent @@ -0,0 +1,9 @@ +./test/errors/attr2.xml:2: parser error : AttValue: ' expected + +^ +./test/errors/attr2.xml:2: parser error : attributes construct error + +^ +./test/errors/attr2.xml:2: parser error : Couldn't find end of Start Tag foo line 1 + +^ diff --git a/result/errors/attr3.xml.ent b/result/errors/attr3.xml.ent new file mode 100644 index 00000000..a628ca79 --- /dev/null +++ b/result/errors/attr3.xml.ent @@ -0,0 +1,3 @@ +./test/errors/attr3.xml:4: validity warning : Attribute a1 of element doc: already defined +<!ATTLIST doc a1 CDATA "z1"> + ^ diff --git a/result/errors/attr4.xml.ent b/result/errors/attr4.xml.ent new file mode 100644 index 00000000..a9966d85 --- /dev/null +++ b/result/errors/attr4.xml.ent @@ -0,0 +1,12 @@ +./test/errors/attr4.xml:1: parser error : invalid character in attribute value +<ROOT attr="XY"/> + ^ +./test/errors/attr4.xml:1: parser error : attributes construct error +<ROOT attr="XY"/> + ^ +./test/errors/attr4.xml:1: parser error : Couldn't find end of Start Tag ROOT line 1 +<ROOT attr="XY"/> + ^ +./test/errors/attr4.xml:1: parser error : Extra content at the end of the document +<ROOT attr="XY"/> + ^ diff --git a/result/errors/cdata.xml.ent b/result/errors/cdata.xml.ent new file mode 100644 index 00000000..f757963f --- /dev/null +++ b/result/errors/cdata.xml.ent @@ -0,0 +1,4 @@ +./test/errors/cdata.xml:2: parser error : Input is not proper UTF-8, indicate encoding ! +Bytes: 0xE1 0x72 0x5D 0x5D +<A><![CDATA[Cár]]></A> + ^ diff --git a/result/errors/charref1.xml.ent b/result/errors/charref1.xml.ent new file mode 100644 index 00000000..dbf30054 --- /dev/null +++ b/result/errors/charref1.xml.ent @@ -0,0 +1,3 @@ +./test/errors/charref1.xml:1: parser error : xmlParseCharRef: character reference out of bounds +<bla>�</bla> + ^ diff --git a/result/errors/charref1.xml.err b/result/errors/charref1.xml.err index aa43bcf4..dbf30054 100644 --- a/result/errors/charref1.xml.err +++ b/result/errors/charref1.xml.err @@ -1,3 +1,3 @@ -./test/errors/charref1.xml:1: parser error : xmlParseCharRef: invalid xmlChar value 60 +./test/errors/charref1.xml:1: parser error : xmlParseCharRef: character reference out of bounds <bla>�</bla> ^ diff --git a/result/errors/charref1.xml.str b/result/errors/charref1.xml.str index 467b4f6a..692f614e 100644 --- a/result/errors/charref1.xml.str +++ b/result/errors/charref1.xml.str @@ -1,4 +1,4 @@ -./test/errors/charref1.xml:1: parser error : xmlParseCharRef: invalid xmlChar value 60 +./test/errors/charref1.xml:1: parser error : xmlParseCharRef: character reference out of bounds <bla>�</bla> ^ ./test/errors/charref1.xml : failed to parse diff --git a/result/errors/comment1.xml.ent b/result/errors/comment1.xml.ent new file mode 100644 index 00000000..5a732dd7 --- /dev/null +++ b/result/errors/comment1.xml.ent @@ -0,0 +1,6 @@ +./test/errors/comment1.xml:5: parser error : xmlParseComment: invalid xmlChar value 14 + in p02: --> + ^ +./test/errors/comment1.xml:5: parser error : Start tag expected, '<' not found + in p02: --> + ^ diff --git a/result/errors/content1.xml.ent b/result/errors/content1.xml.ent new file mode 100644 index 00000000..9fcd6033 --- /dev/null +++ b/result/errors/content1.xml.ent @@ -0,0 +1,16 @@ +./test/errors/content1.xml:7: parser error : ContentDecl : ',' '|' or ')' expected +<!ELEMENT aElement (a |b * > + ^ +./test/errors/content1.xml:7: parser error : expected '>' +<!ELEMENT aElement (a |b * > + ^ +./test/errors/content1.xml:7: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration + +<!ELEMENT aElement (a |b * > + ^ +./test/errors/content1.xml:7: parser error : DOCTYPE improperly terminated +<!ELEMENT aElement (a |b * > + ^ +./test/errors/content1.xml:7: parser error : Start tag expected, '<' not found +<!ELEMENT aElement (a |b * > + ^ diff --git a/result/errors/extparsedent.xml.ent b/result/errors/extparsedent.xml.ent new file mode 100644 index 00000000..2cce1761 --- /dev/null +++ b/result/errors/extparsedent.xml.ent @@ -0,0 +1 @@ +I/O warning : failed to load external entity "/etc/doesnotexist" diff --git a/result/errors/name.xml.ent b/result/errors/name.xml.ent new file mode 100644 index 00000000..4dbfc52f --- /dev/null +++ b/result/errors/name.xml.ent @@ -0,0 +1,3 @@ +./test/errors/name.xml:2: parser error : Couldn't find end of Start Tag foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo line 1 + +^ diff --git a/result/errors/name2.xml.ent b/result/errors/name2.xml.ent new file mode 100644 index 00000000..8acef792 --- /dev/null +++ b/result/errors/name2.xml.ent @@ -0,0 +1,9 @@ +./test/errors/name2.xml:2: parser error : Specification mandates value for attribute foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo + +^ +./test/errors/name2.xml:2: parser error : attributes construct error + +^ +./test/errors/name2.xml:2: parser error : Couldn't find end of Start Tag foo line 1 + +^ diff --git a/result/errors/rec_ext_ent.xml b/result/errors/rec_ext_ent.xml new file mode 100644 index 00000000..6a196cb5 --- /dev/null +++ b/result/errors/rec_ext_ent.xml @@ -0,0 +1,5 @@ +<?xml version="1.0"?> +<!DOCTYPE doc [ +<!ENTITY e SYSTEM "rec_ext.ent"> +]> +<doc>&e; &e; &e; &e;</doc> diff --git a/result/errors/rec_ext_ent.xml.ent b/result/errors/rec_ext_ent.xml.ent new file mode 100644 index 00000000..30dd2854 --- /dev/null +++ b/result/errors/rec_ext_ent.xml.ent @@ -0,0 +1,243 @@ +test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Entity 'e' failed to parse +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +test/errors/rec_ext.ent:1: parser error : Detected an entity reference loop +<ent>&e; &e; &e; &e;</ent> + ^ +test/errors/rec_ext.ent:2: parser error : chunk is not well balanced + +^ +./test/errors/rec_ext_ent.xml:4: parser error : Entity 'e' failed to parse +<doc>&e; &e; &e; &e;</doc> + ^ diff --git a/result/errors/rec_ext_ent.xml.err b/result/errors/rec_ext_ent.xml.err new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/errors/rec_ext_ent.xml.err diff --git a/result/errors/rec_ext_ent.xml.str b/result/errors/rec_ext_ent.xml.str new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/errors/rec_ext_ent.xml.str diff --git a/result/noent/ent2.sax2 b/result/noent/ent2.sax2 index 88c6aa6b..d17f2ffe 100644 --- a/result/noent/ent2.sax2 +++ b/result/noent/ent2.sax2 @@ -17,13 +17,6 @@ SAX.characters(my title, 8) SAX.endElementNs(title, NULL, NULL) SAX.characters( , 1) -SAX.ignorableWhitespace( -, 1) -SAX.startElementNs(title, NULL, NULL, 0, 0, 0) -SAX.characters(my title, 8) -SAX.endElementNs(title, NULL, NULL) -SAX.characters( -, 1) SAX.characters( This text is about XML, the, 31) SAX.getEntity(xml) diff --git a/result/regexp/bug316338 b/result/regexp/bug316338 index 1cd1ac0e..fcf14803 100644 --- a/result/regexp/bug316338 +++ b/result/regexp/bug316338 @@ -1,6 +1,6 @@ Regexp: (((C|c)(([\s]*\-?[0-9]+(\.[0-9]+)?((e|E)\-?[0-9]+)?){3})+[\s]*))+ C 433: Ok -C 433 12: Fail +C 433 12: Ok C 433 123: Ok C 433 123 456: Ok C 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12 724.64,433.12 718.08,433.12 711.52,433.12: Fail diff --git a/result/regexp/bug649244 b/result/regexp/bug649244 new file mode 100644 index 00000000..886ca2c8 --- /dev/null +++ b/result/regexp/bug649244 @@ -0,0 +1,9 @@ +Regexp: S(a|)E +SE: Ok +SxE: Fail +Regexp: S(|b)E +SE: Ok +SxE: Fail +Regexp: S(a||b)E +SE: Ok +SxE: Fail diff --git a/result/regexp/bug757711 b/result/regexp/bug757711 new file mode 100644 index 00000000..0991e4e2 --- /dev/null +++ b/result/regexp/bug757711 @@ -0,0 +1,2 @@ +Regexp: [;^((- + failed to compile diff --git a/result/regexp/bug757711.err b/result/regexp/bug757711.err new file mode 100644 index 00000000..f1cae806 --- /dev/null +++ b/result/regexp/bug757711.err @@ -0,0 +1,2 @@ +regexp error : failed to compile: Expecting the end of a char range +regexp error : failed to compile: xmlFAParseCharClass: ']' expected diff --git a/result/regexp/bug783015 b/result/regexp/bug783015 new file mode 100644 index 00000000..653f6f09 --- /dev/null +++ b/result/regexp/bug783015 @@ -0,0 +1,4 @@ +Regexp: .{2147483647} +input: Fail +Regexp: .{2147483648} + failed to compile diff --git a/result/regexp/bug783015.err b/result/regexp/bug783015.err new file mode 100644 index 00000000..a00edc98 --- /dev/null +++ b/result/regexp/bug783015.err @@ -0,0 +1 @@ +regexp error : failed to compile: Improper quantifier diff --git a/result/relaxng/ambig_name-class2_err b/result/relaxng/ambig_name-class2_err new file mode 100644 index 00000000..2c1ba8d3 --- /dev/null +++ b/result/relaxng/ambig_name-class2_err @@ -0,0 +1 @@ +./test/relaxng/ambig_name-class2.rng validates diff --git a/result/relaxng/ambig_name-class2_valid b/result/relaxng/ambig_name-class2_valid new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/relaxng/ambig_name-class2_valid diff --git a/result/relaxng/ambig_name-class_err b/result/relaxng/ambig_name-class_err new file mode 100644 index 00000000..0afe5cd6 --- /dev/null +++ b/result/relaxng/ambig_name-class_err @@ -0,0 +1 @@ +./test/relaxng/ambig_name-class.rng validates diff --git a/result/relaxng/ambig_name-class_valid b/result/relaxng/ambig_name-class_valid new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/relaxng/ambig_name-class_valid diff --git a/result/schemas/any4_0_0 b/result/schemas/any4_0_0 index 42ea4544..e69de29b 100644 --- a/result/schemas/any4_0_0 +++ b/result/schemas/any4_0_0 @@ -1 +0,0 @@ -./test/schemas/any4_0.xml validates diff --git a/result/schemas/any4_0_0.err b/result/schemas/any4_0_0.err index e69de29b..151b0028 100644 --- a/result/schemas/any4_0_0.err +++ b/result/schemas/any4_0_0.err @@ -0,0 +1 @@ +./test/schemas/any4_0.xsd:14: element complexType: Schemas parser error : local complex type: The content model is not determinist. diff --git a/result/schemas/decimal-2_1_0.err b/result/schemas/decimal-2_1_0.err index fe663c26..bda17a54 100644 --- a/result/schemas/decimal-2_1_0.err +++ b/result/schemas/decimal-2_1_0.err @@ -1,4 +1,2 @@ ./test/schemas/decimal-2_0.xml:12: element val: Schemas validity error : Element 'val': [facet 'minInclusive'] The value '-0.1' is less than the minimum value allowed ('0'). -./test/schemas/decimal-2_0.xml:12: element val: Schemas validity error : Element 'val': '-0.1' is not a valid value of the atomic type 'myDecimal'. ./test/schemas/decimal-2_0.xml:13: element val: Schemas validity error : Element 'val': [facet 'minInclusive'] The value '-1' is less than the minimum value allowed ('0'). -./test/schemas/decimal-2_0.xml:13: element val: Schemas validity error : Element 'val': '-1' is not a valid value of the atomic type 'myDecimal'. diff --git a/result/schemas/decimal-3_1_0.err b/result/schemas/decimal-3_1_0.err index bba8cf98..f37a2009 100644 --- a/result/schemas/decimal-3_1_0.err +++ b/result/schemas/decimal-3_1_0.err @@ -1,8 +1,4 @@ ./test/schemas/decimal-3_0.xml:12: element val: Schemas validity error : Element 'val': [facet 'totalDigits'] The value '0.123' has more digits than are allowed ('2'). -./test/schemas/decimal-3_0.xml:12: element val: Schemas validity error : Element 'val': '0.123' is not a valid value of the atomic type 'myDecimal'. ./test/schemas/decimal-3_0.xml:13: element val: Schemas validity error : Element 'val': [facet 'totalDigits'] The value '0.023' has more digits than are allowed ('2'). -./test/schemas/decimal-3_0.xml:13: element val: Schemas validity error : Element 'val': '0.023' is not a valid value of the atomic type 'myDecimal'. ./test/schemas/decimal-3_0.xml:14: element val: Schemas validity error : Element 'val': [facet 'totalDigits'] The value '123' has more digits than are allowed ('2'). -./test/schemas/decimal-3_0.xml:14: element val: Schemas validity error : Element 'val': '123' is not a valid value of the atomic type 'myDecimal'. ./test/schemas/decimal-3_0.xml:15: element val: Schemas validity error : Element 'val': [facet 'totalDigits'] The value '12.3' has more digits than are allowed ('2'). -./test/schemas/decimal-3_0.xml:15: element val: Schemas validity error : Element 'val': '12.3' is not a valid value of the atomic type 'myDecimal'. diff --git a/result/schemas/hexbinary_0_1.err b/result/schemas/hexbinary_0_1.err index eb0c74ca..f43ef338 100644 --- a/result/schemas/hexbinary_0_1.err +++ b/result/schemas/hexbinary_0_1.err @@ -3,8 +3,5 @@ ./test/schemas/hexbinary_1.xml:8: element hex: Schemas validity error : Element 'hex': '+abcdef0123456789' is not a valid value of the atomic type 'xs:hexBinary'. ./test/schemas/hexbinary_1.xml:9: element hex: Schemas validity error : Element 'hex': '-0123456789abcdef' is not a valid value of the atomic type 'xs:hexBinary'. ./test/schemas/hexbinary_1.xml:11: element hex2: Schemas validity error : Element 'hex2': [facet 'maxLength'] The value has a length of '9'; this exceeds the allowed maximum length of '8'. -./test/schemas/hexbinary_1.xml:11: element hex2: Schemas validity error : Element 'hex2': '112233445566778899' is not a valid value of the local atomic type. ./test/schemas/hexbinary_1.xml:13: element hex3: Schemas validity error : Element 'hex3': [facet 'length'] The value has a length of '1'; this differs from the allowed length of '2'. -./test/schemas/hexbinary_1.xml:13: element hex3: Schemas validity error : Element 'hex3': 'ab' is not a valid value of the local atomic type. ./test/schemas/hexbinary_1.xml:14: element hex3: Schemas validity error : Element 'hex3': [facet 'length'] The value has a length of '3'; this differs from the allowed length of '2'. -./test/schemas/hexbinary_1.xml:14: element hex3: Schemas validity error : Element 'hex3': '00fedc' is not a valid value of the local atomic type. diff --git a/result/schemas/issue40_0_0 b/result/schemas/issue40_0_0 new file mode 100644 index 00000000..73c9e696 --- /dev/null +++ b/result/schemas/issue40_0_0 @@ -0,0 +1 @@ +./test/schemas/issue40_0.xml validates diff --git a/result/schemas/issue40_0_0.err b/result/schemas/issue40_0_0.err new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/schemas/issue40_0_0.err diff --git a/result/schemas/restriction-enum-1_1_0.err b/result/schemas/restriction-enum-1_1_0.err index 086d2deb..42dee61a 100644 --- a/result/schemas/restriction-enum-1_1_0.err +++ b/result/schemas/restriction-enum-1_1_0.err @@ -1,2 +1 @@ ./test/schemas/restriction-enum-1_0.xml:7: element foo: Schemas validity error : Element 'foo': [facet 'enumeration'] The value 'c' is not an element of the set {'a', 'b', 'd'}. -./test/schemas/restriction-enum-1_0.xml:7: element foo: Schemas validity error : Element 'foo': 'c' is not a valid value of the atomic type 'barType'. diff --git a/result/schemas/vdv-first4_0_2.err b/result/schemas/vdv-first4_0_2.err index 6c6e52fa..0a49faac 100644 --- a/result/schemas/vdv-first4_0_2.err +++ b/result/schemas/vdv-first4_0_2.err @@ -1,2 +1 @@ ./test/schemas/vdv-first4_2.xml:24: element born: Schemas validity error : Element 'born': [facet 'pattern'] The value '2000-01-20Z' is not accepted by the pattern '[^:Z]*'. -./test/schemas/vdv-first4_2.xml:24: element born: Schemas validity error : Element 'born': '2000-01-20Z' is not a valid value of the atomic type 'date'. diff --git a/result/valid/REC-xml-19980210.xml b/result/valid/REC-xml-19980210.xml index f31e963c..4460b3eb 100644 --- a/result/valid/REC-xml-19980210.xml +++ b/result/valid/REC-xml-19980210.xml @@ -1306,7 +1306,7 @@ default white-space processing modes are acceptable for this element; the value "<code>preserve</code>" indicates the intent that applications preserve all the white space. This declared intent is considered to apply to all elements within the content -of the element where it is specified, unless overriden with another instance +of the element where it is specified, unless overridden with another instance of the <kw>xml:space</kw> attribute. </p> <p>The <termref def="dt-root">root element</termref> of any document diff --git a/result/valid/cond_sect1.xml b/result/valid/cond_sect1.xml new file mode 100644 index 00000000..dd2e5b4e --- /dev/null +++ b/result/valid/cond_sect1.xml @@ -0,0 +1,8 @@ +<?xml version="1.0"?> +<!DOCTYPE doc SYSTEM "dtds/cond_sect1.dtd" [ +<!ENTITY % include "INCLUDE"> +<!ENTITY % ignore "IGNORE"> +]> +<doc> + <child>text</child> +</doc> diff --git a/result/valid/cond_sect1.xml.err b/result/valid/cond_sect1.xml.err new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/valid/cond_sect1.xml.err diff --git a/result/valid/cond_sect1.xml.err.rdr b/result/valid/cond_sect1.xml.err.rdr new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/valid/cond_sect1.xml.err.rdr diff --git a/result/valid/cond_sect2.xml b/result/valid/cond_sect2.xml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/valid/cond_sect2.xml diff --git a/result/valid/cond_sect2.xml.err b/result/valid/cond_sect2.xml.err new file mode 100644 index 00000000..9a7624b1 --- /dev/null +++ b/result/valid/cond_sect2.xml.err @@ -0,0 +1,9 @@ +test/valid/dtds/cond_sect2.dtd:15: parser error : All markup of the conditional section is not in the same entity + %ent; + ^ +Entity: line 1: +]]> +^ +test/valid/dtds/cond_sect2.dtd:17: parser error : Content error in the external subset + +^ diff --git a/result/valid/cond_sect2.xml.err.rdr b/result/valid/cond_sect2.xml.err.rdr new file mode 100644 index 00000000..fd3cb75d --- /dev/null +++ b/result/valid/cond_sect2.xml.err.rdr @@ -0,0 +1,10 @@ +test/valid/dtds/cond_sect2.dtd:15: parser error : All markup of the conditional section is not in the same entity + %ent; + ^ +Entity: line 1: +]]> +^ +test/valid/dtds/cond_sect2.dtd:17: parser error : Content error in the external subset + +^ +./test/valid/cond_sect2.xml : failed to parse diff --git a/result/valid/xhtml1.xhtml b/result/valid/xhtml1.xhtml index 907209bf..98b79911 100644 --- a/result/valid/xhtml1.xhtml +++ b/result/valid/xhtml1.xhtml @@ -1300,7 +1300,7 @@ attribute names.</li> <li>In tables, the tbody element will be inferred by the parser of an HTML user agent, but not by the parser of an XML user agent. Therefore -you should always explicitely add a tbody element if it is referred to +you should always explicitly add a tbody element if it is referred to in a CSS selector.</li> <li>Within the XHTML name space, user agents are expected to @@ -1,5 +1,5 @@ /* - * runsuite.c: C program to run libxml2 againts published testsuites + * runsuite.c: C program to run libxml2 against published testsuites * * See Copyright for the status of this software. * @@ -217,13 +217,13 @@ initializeLibxml2(void) { * Deactivate the cache if created; otherwise we have to create/free it * for every test, since it will confuse the memory leak detection. * Note that normally this need not be done, since the cache is not - * created until set explicitely with xmlXPathContextSetCache(); - * but for test purposes it is sometimes usefull to activate the + * created until set explicitly with xmlXPathContextSetCache(); + * but for test purposes it is sometimes useful to activate the * cache by default for the whole library. */ if (ctxtXPath->cache != NULL) xmlXPathContextSetCache(ctxtXPath, 0, -1, 0); - /* used as default nanemspace in xstc tests */ + /* used as default namespace in xstc tests */ xmlXPathRegisterNs(ctxtXPath, BAD_CAST "ts", BAD_CAST "TestSuite"); xmlXPathRegisterNs(ctxtXPath, BAD_CAST "xlink", BAD_CAST "http://www.w3.org/1999/xlink"); @@ -296,7 +296,7 @@ getString(xmlNodePtr cur, const char *xpath) { ************************************************************************/ static int -xsdIncorectTestCase(xmlNodePtr cur) { +xsdIncorrectTestCase(xmlNodePtr cur) { xmlNodePtr test; xmlBufferPtr buf; xmlRelaxNGParserCtxtPtr pctxt; @@ -327,14 +327,12 @@ xsdIncorectTestCase(xmlNodePtr cur) { } xmlNodeDump(buf, test->doc, test, 0, 0); pctxt = xmlRelaxNGNewMemParserCtxt((const char *)buf->content, buf->use); - xmlRelaxNGSetParserErrors(pctxt, - (xmlRelaxNGValidityErrorFunc) testErrorHandler, - (xmlRelaxNGValidityWarningFunc) testErrorHandler, - pctxt); + xmlRelaxNGSetParserErrors(pctxt, testErrorHandler, testErrorHandler, + pctxt); rng = xmlRelaxNGParse(pctxt); xmlRelaxNGFreeParserCtxt(pctxt); if (rng != NULL) { - test_log("Failed to detect incorect RNG line %ld\n", + test_log("Failed to detect incorrect RNG line %ld\n", xmlGetLineNo(test)); ret = 1; goto done; @@ -440,7 +438,7 @@ xsdTestCase(xmlNodePtr tst) { cur = getNext(tst, "./correct[1]"); if (cur == NULL) { - return(xsdIncorectTestCase(tst)); + return(xsdIncorrectTestCase(tst)); } test = getNext(cur, "./*"); @@ -462,10 +460,8 @@ xsdTestCase(xmlNodePtr tst) { } xmlNodeDump(buf, test->doc, test, 0, 0); pctxt = xmlRelaxNGNewMemParserCtxt((const char *)buf->content, buf->use); - xmlRelaxNGSetParserErrors(pctxt, - (xmlRelaxNGValidityErrorFunc) testErrorHandler, - (xmlRelaxNGValidityWarningFunc) testErrorHandler, - pctxt); + xmlRelaxNGSetParserErrors(pctxt, testErrorHandler, testErrorHandler, + pctxt); rng = xmlRelaxNGParse(pctxt); xmlRelaxNGFreeParserCtxt(pctxt); if (extraMemoryFromResolver) @@ -510,9 +506,7 @@ xsdTestCase(xmlNodePtr tst) { nb_tests++; ctxt = xmlRelaxNGNewValidCtxt(rng); xmlRelaxNGSetValidErrors(ctxt, - (xmlRelaxNGValidityErrorFunc) testErrorHandler, - (xmlRelaxNGValidityWarningFunc) testErrorHandler, - ctxt); + testErrorHandler, testErrorHandler, ctxt); ret = xmlRelaxNGValidateDoc(ctxt, doc); xmlRelaxNGFreeValidCtxt(ctxt); if (ret > 0) { @@ -567,9 +561,7 @@ xsdTestCase(xmlNodePtr tst) { nb_tests++; ctxt = xmlRelaxNGNewValidCtxt(rng); xmlRelaxNGSetValidErrors(ctxt, - (xmlRelaxNGValidityErrorFunc) testErrorHandler, - (xmlRelaxNGValidityWarningFunc) testErrorHandler, - ctxt); + testErrorHandler, testErrorHandler, ctxt); ret = xmlRelaxNGValidateDoc(ctxt, doc); xmlRelaxNGFreeValidCtxt(ctxt); if (ret == 0) { @@ -825,10 +817,7 @@ xstcTestInstance(xmlNodePtr cur, xmlSchemaPtr schemas, } ctxt = xmlSchemaNewValidCtxt(schemas); - xmlSchemaSetValidErrors(ctxt, - (xmlSchemaValidityErrorFunc) testErrorHandler, - (xmlSchemaValidityWarningFunc) testErrorHandler, - ctxt); + xmlSchemaSetValidErrors(ctxt, testErrorHandler, testErrorHandler, ctxt); ret = xmlSchemaValidateDoc(ctxt, doc); if (xmlStrEqual(validity, BAD_CAST "valid")) { @@ -916,10 +905,8 @@ xstcTestGroup(xmlNodePtr cur, const char *base) { if (xmlStrEqual(validity, BAD_CAST "valid")) { nb_schematas++; ctxt = xmlSchemaNewParserCtxt((const char *) path); - xmlSchemaSetParserErrors(ctxt, - (xmlSchemaValidityErrorFunc) testErrorHandler, - (xmlSchemaValidityWarningFunc) testErrorHandler, - ctxt); + xmlSchemaSetParserErrors(ctxt, testErrorHandler, testErrorHandler, + ctxt); schemas = xmlSchemaParse(ctxt); xmlSchemaFreeParserCtxt(ctxt); if (schemas == NULL) { @@ -952,10 +939,8 @@ xstcTestGroup(xmlNodePtr cur, const char *base) { } else if (xmlStrEqual(validity, BAD_CAST "invalid")) { nb_schematas++; ctxt = xmlSchemaNewParserCtxt((const char *) path); - xmlSchemaSetParserErrors(ctxt, - (xmlSchemaValidityErrorFunc) testErrorHandler, - (xmlSchemaValidityWarningFunc) testErrorHandler, - ctxt); + xmlSchemaSetParserErrors(ctxt, testErrorHandler, testErrorHandler, + ctxt); schemas = xmlSchemaParse(ctxt); xmlSchemaFreeParserCtxt(ctxt); if (schemas != NULL) { @@ -1,6 +1,6 @@ /* * runtest.c: C program to run libxml2 regression tests without - * requiring make or Python, and reducing platform dependancies + * requiring make or Python, and reducing platform dependencies * to a strict minimum. * * To compile on Unixes: @@ -95,7 +95,7 @@ typedef int (*functest) (const char *filename, const char *result, typedef struct testDesc testDesc; typedef testDesc *testDescPtr; struct testDesc { - const char *desc; /* descripton of the test */ + const char *desc; /* description of the test */ functest func; /* function implementing the test */ const char *in; /* glob to path for input files */ const char *out; /* output directory */ @@ -105,6 +105,7 @@ struct testDesc { }; static int update_results = 0; +static char* temp_directory = NULL; static int checkTestFile(const char *filename); #if defined(_WIN32) && !defined(__CYGWIN__) @@ -587,8 +588,8 @@ static char *resultFilename(const char *filename, const char *out, suffixbuff[0]='_'; #endif - snprintf(res, 499, "%s%s%s", out, base, suffixbuff); - res[499] = 0; + if (snprintf(res, 499, "%s%s%s", out, base, suffixbuff) >= 499) + res[499] = 0; return(strdup(res)); } @@ -880,6 +881,8 @@ internalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, callbacks++; if (quiet) return; + if (name == NULL) + name = BAD_CAST "(null)"; fprintf(SAXdebug, "SAX.internalSubset(%s,", name); if (ExternalID == NULL) fprintf(SAXdebug, " ,"); @@ -1697,7 +1700,7 @@ saxParseTest(const char *filename, const char *result, char *temp; nb_tests++; - temp = resultFilename(filename, "", ".res"); + temp = resultFilename(filename, temp_directory, ".res"); if (temp == NULL) { fprintf(stderr, "out of memory\n"); fatalError(); @@ -1816,7 +1819,7 @@ oldParseTest(const char *filename, const char *result, #endif if (doc == NULL) return(1); - temp = resultFilename(filename, "", ".res"); + temp = resultFilename(filename, temp_directory, ".res"); if (temp == NULL) { fprintf(stderr, "out of memory\n"); fatalError(); @@ -2028,7 +2031,7 @@ noentParseTest(const char *filename, const char *result, doc = xmlReadFile(filename, NULL, options); if (doc == NULL) return(1); - temp = resultFilename(filename, "", ".res"); + temp = resultFilename(filename, temp_directory, ".res"); if (temp == NULL) { fprintf(stderr, "Out of memory\n"); fatalError(); @@ -2175,7 +2178,7 @@ streamProcessTest(const char *filename, const char *result, const char *err, nb_tests++; if (result != NULL) { - temp = resultFilename(filename, "", ".res"); + temp = resultFilename(filename, temp_directory, ".res"); if (temp == NULL) { fprintf(stderr, "Out of memory\n"); fatalError(); @@ -2404,7 +2407,7 @@ xpathCommonTest(const char *filename, const char *result, int len, ret = 0; char *temp; - temp = resultFilename(filename, "", ".res"); + temp = resultFilename(filename, temp_directory, ".res"); if (temp == NULL) { fprintf(stderr, "Out of memory\n"); fatalError(); @@ -2501,13 +2504,17 @@ xpathDocTest(const char *filename, return(-1); } - snprintf(pattern, 499, "./test/XPath/tests/%s*", baseFilename(filename)); - pattern[499] = 0; + res = snprintf(pattern, 499, "./test/XPath/tests/%s*", + baseFilename(filename)); + if (res >= 499) + pattern[499] = 0; globbuf.gl_offs = 0; glob(pattern, GLOB_DOOFFS, NULL, &globbuf); for (i = 0;i < globbuf.gl_pathc;i++) { - snprintf(result, 499, "result/XPath/tests/%s", + res = snprintf(result, 499, "result/XPath/tests/%s", baseFilename(globbuf.gl_pathv[i])); + if (res >= 499) + result[499] = 0; res = xpathCommonTest(globbuf.gl_pathv[i], &result[0], 0, 0); if (res != 0) ret = res; @@ -2549,13 +2556,17 @@ xptrDocTest(const char *filename, return(-1); } - snprintf(pattern, 499, "./test/XPath/xptr/%s*", baseFilename(filename)); - pattern[499] = 0; + res = snprintf(pattern, 499, "./test/XPath/xptr/%s*", + baseFilename(filename)); + if (res >= 499) + pattern[499] = 0; globbuf.gl_offs = 0; glob(pattern, GLOB_DOOFFS, NULL, &globbuf); for (i = 0;i < globbuf.gl_pathc;i++) { - snprintf(result, 499, "result/XPath/xptr/%s", + res = snprintf(result, 499, "result/XPath/xptr/%s", baseFilename(globbuf.gl_pathv[i])); + if (res >= 499) + result[499] = 0; res = xpathCommonTest(globbuf.gl_pathv[i], &result[0], 1, 0); if (res != 0) ret = res; @@ -2595,7 +2606,7 @@ xmlidDocTest(const char *filename, return(-1); } - temp = resultFilename(filename, "", ".res"); + temp = resultFilename(filename, temp_directory, ".res"); if (temp == NULL) { fprintf(stderr, "Out of memory\n"); fatalError(); @@ -2693,7 +2704,7 @@ uriCommonTest(const char *filename, char str[1024]; int res = 0, i, ret; - temp = resultFilename(filename, "", ".res"); + temp = resultFilename(filename, temp_directory, ".res"); if (temp == NULL) { fprintf(stderr, "Out of memory\n"); fatalError(); @@ -2997,7 +3008,7 @@ schemasOneTest(const char *sch, return(-1); } - temp = resultFilename(result, "", ".res"); + temp = resultFilename(result, temp_directory, ".res"); if (temp == NULL) { fprintf(stderr, "Out of memory\n"); fatalError(); @@ -3011,10 +3022,7 @@ schemasOneTest(const char *sch, } ctxt = xmlSchemaNewValidCtxt(schemas); - xmlSchemaSetValidErrors(ctxt, - (xmlSchemaValidityErrorFunc) testErrorHandler, - (xmlSchemaValidityWarningFunc) testErrorHandler, - ctxt); + xmlSchemaSetValidErrors(ctxt, testErrorHandler, testErrorHandler, ctxt); validResult = xmlSchemaValidateDoc(ctxt, doc); if (validResult == 0) { fprintf(schemasOutput, "%s validates\n", filename); @@ -3079,10 +3087,7 @@ schemasTest(const char *filename, /* first compile the schemas if possible */ ctxt = xmlSchemaNewParserCtxt(filename); - xmlSchemaSetParserErrors(ctxt, - (xmlSchemaValidityErrorFunc) testErrorHandler, - (xmlSchemaValidityWarningFunc) testErrorHandler, - ctxt); + xmlSchemaSetParserErrors(ctxt, testErrorHandler, testErrorHandler, ctxt); schemas = xmlSchemaParse(ctxt); xmlSchemaFreeParserCtxt(ctxt); @@ -3104,8 +3109,8 @@ schemasTest(const char *filename, memcpy(prefix, base, len); prefix[len] = 0; - snprintf(pattern, 499, "./test/schemas/%s_?.xml", prefix); - pattern[499] = 0; + if (snprintf(pattern, 499, "./test/schemas/%s_?.xml", prefix) >= 499) + pattern[499] = 0; if (base[len] == '_') { len += 2; @@ -3123,12 +3128,14 @@ schemasTest(const char *filename, len = strlen(base2); if ((len > 6) && (base2[len - 6] == '_')) { count = base2[len - 5]; - snprintf(result, 499, "result/schemas/%s_%c", + ret = snprintf(result, 499, "result/schemas/%s_%c", prefix, count); - result[499] = 0; - snprintf(err, 499, "result/schemas/%s_%c.err", + if (ret >= 499) + result[499] = 0; + ret = snprintf(err, 499, "result/schemas/%s_%c.err", prefix, count); - err[499] = 0; + if (ret >= 499) + err[499] = 0; } else { fprintf(stderr, "don't know how to process %s\n", instance); continue; @@ -3172,7 +3179,7 @@ rngOneTest(const char *sch, return(-1); } - temp = resultFilename(result, "", ".res"); + temp = resultFilename(result, temp_directory, ".res"); if (temp == NULL) { fprintf(stderr, "Out of memory\n"); fatalError(); @@ -3186,10 +3193,7 @@ rngOneTest(const char *sch, } ctxt = xmlRelaxNGNewValidCtxt(schemas); - xmlRelaxNGSetValidErrors(ctxt, - (xmlRelaxNGValidityErrorFunc) testErrorHandler, - (xmlRelaxNGValidityWarningFunc) testErrorHandler, - ctxt); + xmlRelaxNGSetValidErrors(ctxt, testErrorHandler, testErrorHandler, ctxt); ret = xmlRelaxNGValidateDoc(ctxt, doc); if (ret == 0) { testErrorHandler(NULL, "%s validates\n", filename); @@ -3256,10 +3260,7 @@ rngTest(const char *filename, /* first compile the schemas if possible */ ctxt = xmlRelaxNGNewParserCtxt(filename); - xmlRelaxNGSetParserErrors(ctxt, - (xmlRelaxNGValidityErrorFunc) testErrorHandler, - (xmlRelaxNGValidityWarningFunc) testErrorHandler, - ctxt); + xmlRelaxNGSetParserErrors(ctxt, testErrorHandler, testErrorHandler, ctxt); schemas = xmlRelaxNGParse(ctxt); xmlRelaxNGFreeParserCtxt(ctxt); @@ -3275,8 +3276,8 @@ rngTest(const char *filename, memcpy(prefix, base, len); prefix[len] = 0; - snprintf(pattern, 499, "./test/relaxng/%s_?.xml", prefix); - pattern[499] = 0; + if (snprintf(pattern, 499, "./test/relaxng/%s_?.xml", prefix) >= 499) + pattern[499] = 0; globbuf.gl_offs = 0; glob(pattern, GLOB_DOOFFS, NULL, &globbuf); @@ -3288,12 +3289,14 @@ rngTest(const char *filename, len = strlen(base2); if ((len > 6) && (base2[len - 6] == '_')) { count = base2[len - 5]; - snprintf(result, 499, "result/relaxng/%s_%c", + res = snprintf(result, 499, "result/relaxng/%s_%c", prefix, count); - result[499] = 0; - snprintf(err, 499, "result/relaxng/%s_%c.err", + if (res >= 499) + result[499] = 0; + res = snprintf(err, 499, "result/relaxng/%s_%c.err", prefix, count); - err[499] = 0; + if (res >= 499) + err[499] = 0; } else { fprintf(stderr, "don't know how to process %s\n", instance); continue; @@ -3301,7 +3304,7 @@ rngTest(const char *filename, if (schemas == NULL) { } else { nb_tests++; - ret = rngOneTest(filename, instance, result, err, + res = rngOneTest(filename, instance, result, err, options, schemas); if (res != 0) ret = res; @@ -3364,8 +3367,8 @@ rngStreamTest(const char *filename, (!strcmp(prefix, "tutor8_2"))) disable_err = 1; - snprintf(pattern, 499, "./test/relaxng/%s_?.xml", prefix); - pattern[499] = 0; + if (snprintf(pattern, 499, "./test/relaxng/%s_?.xml", prefix) >= 499) + pattern[499] = 0; globbuf.gl_offs = 0; glob(pattern, GLOB_DOOFFS, NULL, &globbuf); @@ -3377,19 +3380,21 @@ rngStreamTest(const char *filename, len = strlen(base2); if ((len > 6) && (base2[len - 6] == '_')) { count = base2[len - 5]; - snprintf(result, 499, "result/relaxng/%s_%c", + ret = snprintf(result, 499, "result/relaxng/%s_%c", prefix, count); - result[499] = 0; - snprintf(err, 499, "result/relaxng/%s_%c.err", + if (ret >= 499) + result[499] = 0; + ret = snprintf(err, 499, "result/relaxng/%s_%c.err", prefix, count); - err[499] = 0; + if (ret >= 499) + err[499] = 0; } else { fprintf(stderr, "don't know how to process %s\n", instance); continue; } reader = xmlReaderForFile(instance, NULL, options); if (reader == NULL) { - fprintf(stderr, "Failed to build reder for %s\n", instance); + fprintf(stderr, "Failed to build reader for %s\n", instance); } if (disable_err == 1) ret = streamProcessTest(instance, result, NULL, reader, filename, @@ -3507,8 +3512,8 @@ patternTest(const char *filename, len -= 4; memcpy(xml, filename, len); xml[len] = 0; - snprintf(result, 499, "result/pattern/%s", baseFilename(xml)); - result[499] = 0; + if (snprintf(result, 499, "result/pattern/%s", baseFilename(xml)) >= 499) + result[499] = 0; memcpy(xml + len, ".xml", 5); if (!checkTestFile(xml) && !update_results) { @@ -3524,7 +3529,7 @@ patternTest(const char *filename, fprintf(stderr, "Failed to open %s\n", filename); return(-1); } - temp = resultFilename(filename, "", ".res"); + temp = resultFilename(filename, temp_directory, ".res"); if (temp == NULL) { fprintf(stderr, "Out of memory\n"); fatalError(); @@ -3885,17 +3890,20 @@ c14nCommonTest(const char *filename, int with_comments, int mode, memcpy(prefix, base, len); prefix[len] = 0; - snprintf(buf, 499, "result/c14n/%s/%s", subdir,prefix); + if (snprintf(buf, 499, "result/c14n/%s/%s", subdir, prefix) >= 499) + buf[499] = 0; if (!checkTestFile(buf) && !update_results) { fprintf(stderr, "Missing result file %s", buf); return(-1); } result = strdup(buf); - snprintf(buf, 499, "test/c14n/%s/%s.xpath", subdir,prefix); + if (snprintf(buf, 499, "test/c14n/%s/%s.xpath", subdir, prefix) >= 499) + buf[499] = 0; if (checkTestFile(buf)) { xpath = strdup(buf); } - snprintf(buf, 499, "test/c14n/%s/%s.ns", subdir,prefix); + if (snprintf(buf, 499, "test/c14n/%s/%s.ns", subdir, prefix) >= 499) + buf[499] = 0; if (checkTestFile(buf)) { ns = strdup(buf); } @@ -4241,6 +4249,9 @@ testDesc testDescriptions[] = { { "Error cases regression tests", errParseTest, "./test/errors/*.xml", "result/errors/", "", ".err", 0 }, + { "Error cases regression tests with entity substitution", + errParseTest, "./test/errors/*.xml", "result/errors/", NULL, ".ent", + XML_PARSE_NOENT }, { "Error cases regression tests (old 1.0)", errParseTest, "./test/errors10/*.xml", "result/errors10/", "", ".err", XML_PARSE_OLD10 }, @@ -4542,6 +4553,10 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { setvbuf(stderr, NULL, _IONBF, 0); #endif +#if defined(_MSC_VER) && _MSC_VER >= 1400 && _MSC_VER < 1900 + _set_output_format(_TWO_DIGIT_EXPONENT); +#endif + initializeLibxml2(); for (a = 1; a < argc;a++) { @@ -4551,6 +4566,8 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { update_results = 1; else if (!strcmp(argv[a], "-quiet")) tests_quiet = 1; + else if (!strcmp(argv[a], "--out")) + temp_directory = argv[++a]; else { for (i = 0; testDescriptions[i].func != NULL; i++) { if (strstr(testDescriptions[i].desc, argv[a])) { diff --git a/runxmlconf.c b/runxmlconf.c index cef20f48..8a37aa8f 100644 --- a/runxmlconf.c +++ b/runxmlconf.c @@ -1,5 +1,5 @@ /* - * runsuite.c: C program to run libxml2 againts published testsuites + * runxmlconf.c: C program to run XML W3C conformance testsuites * * See Copyright for the status of this software. * @@ -164,8 +164,8 @@ initializeLibxml2(void) { * Deactivate the cache if created; otherwise we have to create/free it * for every test, since it will confuse the memory leak detection. * Note that normally this need not be done, since the cache is not - * created until set explicitely with xmlXPathContextSetCache(); - * but for test purposes it is sometimes usefull to activate the + * created until set explicitly with xmlXPathContextSetCache(); + * but for test purposes it is sometimes useful to activate the * cache by default for the whole library. */ if (ctxtXPath->cache != NULL) @@ -248,7 +248,7 @@ xmlconfTestNotNSWF(const char *id, const char *filename, int options) { /* * In case of Namespace errors, libxml2 will still parse the document - * but log a Namesapce error. + * but log a Namespace error. */ doc = xmlReadFile(filename, NULL, options); if (doc == NULL) { @@ -507,7 +507,7 @@ xmlconfInfo(void) { fprintf(stderr, " you need to fetch and extract the\n"); fprintf(stderr, " latest XML Conformance Test Suites\n"); fprintf(stderr, " http://www.w3.org/XML/Test/xmlts20080827.tar.gz\n"); - fprintf(stderr, " see http://www.w3.org/XML/Test/ for informations\n"); + fprintf(stderr, " see http://www.w3.org/XML/Test/ for information\n"); } static int @@ -1,7 +1,7 @@ /* * Summary: Internal Interfaces for saving in libxml2 * Description: this module describes a few interfaces which were - * addded along with the API changes in 2.9.0 + * added along with the API changes in 2.9.0 * those are private routines at this point * * Copy: See Copyright for the status of this software. @@ -25,9 +25,10 @@ void xmlBufDumpNotationTable(xmlBufPtr buf, xmlNotationTablePtr table); void xmlBufDumpElementDecl(xmlBufPtr buf, xmlElementPtr elem); void xmlBufDumpAttributeDecl(xmlBufPtr buf, xmlAttributePtr attr); void xmlBufDumpEntityDecl(xmlBufPtr buf, xmlEntityPtr ent); -xmlChar *xmlEncodeAttributeEntities(xmlDocPtr doc, const xmlChar *input); #endif +xmlChar *xmlEncodeAttributeEntities(xmlDocPtr doc, const xmlChar *input); + #ifdef __cplusplus } #endif diff --git a/schematron.c b/schematron.c index 6200f2d4..ddbb069b 100644 --- a/schematron.c +++ b/schematron.c @@ -220,7 +220,7 @@ struct _xmlSchematronParserCtxt { /** * xmlSchematronPErrMemory: * @node: a context node - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -268,7 +268,7 @@ xmlSchematronPErr(xmlSchematronParserCtxtPtr ctxt, xmlNodePtr node, int error, /** * xmlSchematronVTypeErrMemory: * @node: a context node - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -1068,7 +1068,7 @@ done: * @ctxt: a schema validation context * * parse a schema definition resource and build an internal - * XML Shema struture which can be used to validate instances. + * XML Schema structure which can be used to validate instances. * * Returns the internal XML Schematron structure built from the resource or * NULL in case of error @@ -1287,7 +1287,7 @@ xmlSchematronReportOutput(xmlSchematronValidCtxtPtr ctxt ATTRIBUTE_UNUSED, * Build the string being reported to the user. * * Returns a report string or NULL in case of error. The string needs - * to be deallocated by teh caller + * to be deallocated by the caller */ static xmlChar * xmlSchematronFormatReport(xmlSchematronValidCtxtPtr ctxt, @@ -1591,7 +1591,7 @@ xmlSchematronNextNode(xmlNodePtr cur) { * xmlSchematronRunTest: * @ctxt: the schema validation context * @test: the current test - * @instance: the document instace tree + * @instance: the document instance tree * @cur: the current node in the instance * * Validate a rule against a tree instance at a given position @@ -1655,7 +1655,7 @@ xmlSchematronRunTest(xmlSchematronValidCtxtPtr ctxt, /** * xmlSchematronValidateDoc: * @ctxt: the schema validation context - * @instance: the document instace tree + * @instance: the document instance tree * * Validate a tree instance against the schematron * diff --git a/test/HTML/chunked_attr.html b/test/HTML/chunked_attr.html new file mode 100644 index 00000000..84d81796 --- /dev/null +++ b/test/HTML/chunked_attr.html @@ -0,0 +1,53 @@ +<html> +<!-- +This tests internal state tracking of the push parser and assumes a chunk +size of 4096 (or a divisor of 4096) and an initial chunk of size 4. +Make sure that the first '<' in the attribute value ends up near +offset 4100. +--> +<body> +<p> +Filler bytes follow: + + 100 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 200 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 300 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 400 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 500 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 600 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 700 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 800 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 900 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 1000 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 100 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 200 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 300 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 400 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 500 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 600 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 700 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 800 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 900 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 2000 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 100 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 200 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 300 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 400 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 500 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 600 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 700 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 + 800 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 +xxx +</p> +<div + fill1="123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789" + onmouseover="x<b>text</b>x" + fill2="123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789" + fill3="123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789" + fill4="123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789" + fill5="123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789" + fill6="123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789" +> +</div> +</body> +</html> diff --git a/test/SVG/4rects.xml b/test/SVG/4rects.xml index b8d1a655..b8d1a655 100755..100644 --- a/test/SVG/4rects.xml +++ b/test/SVG/4rects.xml diff --git a/test/SVG/a-valid.xml b/test/SVG/a-valid.xml index 233b78c3..233b78c3 100755..100644 --- a/test/SVG/a-valid.xml +++ b/test/SVG/a-valid.xml diff --git a/test/SVG/a-wf.xml b/test/SVG/a-wf.xml index 756e9c64..756e9c64 100755..100644 --- a/test/SVG/a-wf.xml +++ b/test/SVG/a-wf.xml diff --git a/test/SVG/bike.xml b/test/SVG/bike.xml index 796b9964..796b9964 100755..100644 --- a/test/SVG/bike.xml +++ b/test/SVG/bike.xml diff --git a/test/SVG/circle.xml b/test/SVG/circle.xml index 44e70e7e..44e70e7e 100755..100644 --- a/test/SVG/circle.xml +++ b/test/SVG/circle.xml diff --git a/test/SVG/defs.xml b/test/SVG/defs.xml index 0bf5f276..0bf5f276 100755..100644 --- a/test/SVG/defs.xml +++ b/test/SVG/defs.xml diff --git a/test/SVG/desc.xml b/test/SVG/desc.xml index 87838db4..87838db4 100755..100644 --- a/test/SVG/desc.xml +++ b/test/SVG/desc.xml diff --git a/test/SVG/ellipse.xml b/test/SVG/ellipse.xml index 2097ef5c..2097ef5c 100755..100644 --- a/test/SVG/ellipse.xml +++ b/test/SVG/ellipse.xml diff --git a/test/SVG/flower2.xml b/test/SVG/flower2.xml index 10064c93..10064c93 100755..100644 --- a/test/SVG/flower2.xml +++ b/test/SVG/flower2.xml diff --git a/test/SVG/gradient.xml b/test/SVG/gradient.xml index 328d5e88..328d5e88 100755..100644 --- a/test/SVG/gradient.xml +++ b/test/SVG/gradient.xml diff --git a/test/SVG/group01.xml b/test/SVG/group01.xml index 906a220b..906a220b 100755..100644 --- a/test/SVG/group01.xml +++ b/test/SVG/group01.xml diff --git a/test/SVG/group02.xml b/test/SVG/group02.xml index 082474a8..082474a8 100755..100644 --- a/test/SVG/group02.xml +++ b/test/SVG/group02.xml diff --git a/test/SVG/group03.xml b/test/SVG/group03.xml index ad25e93f..ad25e93f 100755..100644 --- a/test/SVG/group03.xml +++ b/test/SVG/group03.xml diff --git a/test/SVG/image-valid.xml b/test/SVG/image-valid.xml index 320e8d2a..320e8d2a 100755..100644 --- a/test/SVG/image-valid.xml +++ b/test/SVG/image-valid.xml diff --git a/test/SVG/image-wf.xml b/test/SVG/image-wf.xml index 6d13b33b..6d13b33b 100755..100644 --- a/test/SVG/image-wf.xml +++ b/test/SVG/image-wf.xml diff --git a/test/SVG/lin-gradient.xml b/test/SVG/lin-gradient.xml index 8ace2b49..8ace2b49 100755..100644 --- a/test/SVG/lin-gradient.xml +++ b/test/SVG/lin-gradient.xml diff --git a/test/SVG/marker.xml b/test/SVG/marker.xml index 62716a2e..62716a2e 100755..100644 --- a/test/SVG/marker.xml +++ b/test/SVG/marker.xml diff --git a/test/SVG/mask.xml b/test/SVG/mask.xml index f81aca1a..f81aca1a 100755..100644 --- a/test/SVG/mask.xml +++ b/test/SVG/mask.xml diff --git a/test/SVG/mathswitch.xml b/test/SVG/mathswitch.xml index 4d28f332..4d28f332 100755..100644 --- a/test/SVG/mathswitch.xml +++ b/test/SVG/mathswitch.xml diff --git a/test/SVG/parentns.xml b/test/SVG/parentns.xml index ba410e1f..ba410e1f 100755..100644 --- a/test/SVG/parentns.xml +++ b/test/SVG/parentns.xml diff --git a/test/SVG/path01.xml b/test/SVG/path01.xml index 4590b6c5..4590b6c5 100755..100644 --- a/test/SVG/path01.xml +++ b/test/SVG/path01.xml diff --git a/test/SVG/path02.xml b/test/SVG/path02.xml index a91aa61d..a91aa61d 100755..100644 --- a/test/SVG/path02.xml +++ b/test/SVG/path02.xml diff --git a/test/SVG/patternfill.xml b/test/SVG/patternfill.xml index 292f4f7a..292f4f7a 100755..100644 --- a/test/SVG/patternfill.xml +++ b/test/SVG/patternfill.xml diff --git a/test/SVG/polyline.xml b/test/SVG/polyline.xml index e6f7b629..e6f7b629 100755..100644 --- a/test/SVG/polyline.xml +++ b/test/SVG/polyline.xml diff --git a/test/SVG/private.xml b/test/SVG/private.xml index 36013657..36013657 100755..100644 --- a/test/SVG/private.xml +++ b/test/SVG/private.xml diff --git a/test/SVG/rad-gradient.xml b/test/SVG/rad-gradient.xml index 9ad7683e..9ad7683e 100755..100644 --- a/test/SVG/rad-gradient.xml +++ b/test/SVG/rad-gradient.xml diff --git a/test/SVG/rectangle.xml b/test/SVG/rectangle.xml index e6cdeea9..e6cdeea9 100755..100644 --- a/test/SVG/rectangle.xml +++ b/test/SVG/rectangle.xml diff --git a/test/SVG/richdesc.xml b/test/SVG/richdesc.xml index ccf8c8dc..ccf8c8dc 100755..100644 --- a/test/SVG/richdesc.xml +++ b/test/SVG/richdesc.xml diff --git a/test/SVG/script.xml b/test/SVG/script.xml index 600365e1..600365e1 100755..100644 --- a/test/SVG/script.xml +++ b/test/SVG/script.xml diff --git a/test/SVG/structure01.xml b/test/SVG/structure01.xml index dec91436..dec91436 100755..100644 --- a/test/SVG/structure01.xml +++ b/test/SVG/structure01.xml diff --git a/test/SVG/style.xml b/test/SVG/style.xml index ba150418..ba150418 100755..100644 --- a/test/SVG/style.xml +++ b/test/SVG/style.xml diff --git a/test/SVG/switch.xml b/test/SVG/switch.xml index 18955c9b..18955c9b 100755..100644 --- a/test/SVG/switch.xml +++ b/test/SVG/switch.xml diff --git a/test/SVG/symbol-use.xml b/test/SVG/symbol-use.xml index 83bc4585..83bc4585 100755..100644 --- a/test/SVG/symbol-use.xml +++ b/test/SVG/symbol-use.xml diff --git a/test/SVG/template.xml b/test/SVG/template.xml index 0a9fee77..0a9fee77 100755..100644 --- a/test/SVG/template.xml +++ b/test/SVG/template.xml diff --git a/test/SVG/text01.xml b/test/SVG/text01.xml index 395bafb1..395bafb1 100755..100644 --- a/test/SVG/text01.xml +++ b/test/SVG/text01.xml diff --git a/test/SVG/text02.xml b/test/SVG/text02.xml index 7b95292f..7b95292f 100755..100644 --- a/test/SVG/text02.xml +++ b/test/SVG/text02.xml diff --git a/test/SVG/text03.xml b/test/SVG/text03.xml index fae9af1a..fae9af1a 100755..100644 --- a/test/SVG/text03.xml +++ b/test/SVG/text03.xml diff --git a/test/SVG/toap01.xml b/test/SVG/toap01.xml index 32e16e67..32e16e67 100755..100644 --- a/test/SVG/toap01.xml +++ b/test/SVG/toap01.xml diff --git a/test/SVG/toap02.xml b/test/SVG/toap02.xml index 68980931..68980931 100755..100644 --- a/test/SVG/toap02.xml +++ b/test/SVG/toap02.xml diff --git a/test/SVG/transform.xml b/test/SVG/transform.xml index 13075ee2..13075ee2 100755..100644 --- a/test/SVG/transform.xml +++ b/test/SVG/transform.xml diff --git a/test/SVG/trivial.xml b/test/SVG/trivial.xml index b6122be8..b6122be8 100755..100644 --- a/test/SVG/trivial.xml +++ b/test/SVG/trivial.xml diff --git a/test/SVG/twin-gradients.xml b/test/SVG/twin-gradients.xml index 6213f1b9..6213f1b9 100755..100644 --- a/test/SVG/twin-gradients.xml +++ b/test/SVG/twin-gradients.xml diff --git a/test/SVG/v-template.xml b/test/SVG/v-template.xml index d8643d74..d8643d74 100755..100644 --- a/test/SVG/v-template.xml +++ b/test/SVG/v-template.xml diff --git a/test/SVG/viewport-nest.xml b/test/SVG/viewport-nest.xml index 981a7acc..981a7acc 100755..100644 --- a/test/SVG/viewport-nest.xml +++ b/test/SVG/viewport-nest.xml diff --git a/test/SVG/viewport-transform.xml b/test/SVG/viewport-transform.xml index e2434bd7..e2434bd7 100755..100644 --- a/test/SVG/viewport-transform.xml +++ b/test/SVG/viewport-transform.xml diff --git a/test/SVG/viewport.xml b/test/SVG/viewport.xml index 0923fae2..0923fae2 100755..100644 --- a/test/SVG/viewport.xml +++ b/test/SVG/viewport.xml diff --git a/test/SVG/wf-template.xml b/test/SVG/wf-template.xml index f1cad85d..f1cad85d 100755..100644 --- a/test/SVG/wf-template.xml +++ b/test/SVG/wf-template.xml diff --git a/test/XInclude/docs/fallback.xml b/test/XInclude/docs/fallback.xml index e80222e4..d6586aec 100644 --- a/test/XInclude/docs/fallback.xml +++ b/test/XInclude/docs/fallback.xml @@ -1,5 +1,5 @@ <x xmlns:xinclude="http://www.w3.org/2001/XInclude"> - <!-- Simple test of a fallback on unavailble URI --> + <!-- Simple test of a fallback on unavailable URI --> <xinclude:include href="something.xml"> <xinclude:fallback><warning>Inclusion failed</warning></xinclude:fallback> </xinclude:include> diff --git a/test/XPath/expr/strings b/test/XPath/expr/strings index ba02c794..c741ee25 100644 --- a/test/XPath/expr/strings +++ b/test/XPath/expr/strings @@ -32,5 +32,7 @@ substring("12345",3,-1 div 0) substring("12345",-42, 1 div 0) substring("12345",-1 div 0, 1 div 0) substring("12345",-1 div 0,5) +substring("12345",-0.7,4) +substring("12345",-5000000000,5000000004) string-length("") string-length("titi") diff --git a/test/XPath/tests/chaptersbase b/test/XPath/tests/chaptersbase index f8fbe2a8..49900f09 100644 --- a/test/XPath/tests/chaptersbase +++ b/test/XPath/tests/chaptersbase @@ -11,3 +11,7 @@ //p[0 div 0] //p[100000000000000000000] //p[-100000000000000000000] +//chapter[true()][position() mod 2 = 1][true()][2] +//chapter[true()][2][true()] +//node()[false()] +(//node())[false()] diff --git a/test/c14n/1-1-without-comments/doc.dtd b/test/c14n/1-1-without-comments/doc.dtd index c4602397..c4602397 100755..100644 --- a/test/c14n/1-1-without-comments/doc.dtd +++ b/test/c14n/1-1-without-comments/doc.dtd diff --git a/test/c14n/1-1-without-comments/example-1.xml b/test/c14n/1-1-without-comments/example-1.xml index ed450c73..ed450c73 100755..100644 --- a/test/c14n/1-1-without-comments/example-1.xml +++ b/test/c14n/1-1-without-comments/example-1.xml diff --git a/test/c14n/1-1-without-comments/example-2.xml b/test/c14n/1-1-without-comments/example-2.xml index 74eeea14..74eeea14 100755..100644 --- a/test/c14n/1-1-without-comments/example-2.xml +++ b/test/c14n/1-1-without-comments/example-2.xml diff --git a/test/c14n/1-1-without-comments/example-3.xml b/test/c14n/1-1-without-comments/example-3.xml index a7a1950a..a7a1950a 100755..100644 --- a/test/c14n/1-1-without-comments/example-3.xml +++ b/test/c14n/1-1-without-comments/example-3.xml diff --git a/test/c14n/1-1-without-comments/example-4.xml b/test/c14n/1-1-without-comments/example-4.xml index 3fba1385..3fba1385 100755..100644 --- a/test/c14n/1-1-without-comments/example-4.xml +++ b/test/c14n/1-1-without-comments/example-4.xml diff --git a/test/c14n/1-1-without-comments/example-5.xml b/test/c14n/1-1-without-comments/example-5.xml index 92c5322f..92c5322f 100755..100644 --- a/test/c14n/1-1-without-comments/example-5.xml +++ b/test/c14n/1-1-without-comments/example-5.xml diff --git a/test/c14n/1-1-without-comments/example-6.xml b/test/c14n/1-1-without-comments/example-6.xml index 31e20718..31e20718 100755..100644 --- a/test/c14n/1-1-without-comments/example-6.xml +++ b/test/c14n/1-1-without-comments/example-6.xml diff --git a/test/c14n/1-1-without-comments/example-7.xml b/test/c14n/1-1-without-comments/example-7.xml index 41171cb4..41171cb4 100755..100644 --- a/test/c14n/1-1-without-comments/example-7.xml +++ b/test/c14n/1-1-without-comments/example-7.xml diff --git a/test/c14n/1-1-without-comments/example-7.xpath b/test/c14n/1-1-without-comments/example-7.xpath index 84ddb081..84ddb081 100755..100644 --- a/test/c14n/1-1-without-comments/example-7.xpath +++ b/test/c14n/1-1-without-comments/example-7.xpath diff --git a/test/c14n/1-1-without-comments/example-8.xml b/test/c14n/1-1-without-comments/example-8.xml index a07f6c7b..a07f6c7b 100755..100644 --- a/test/c14n/1-1-without-comments/example-8.xml +++ b/test/c14n/1-1-without-comments/example-8.xml diff --git a/test/c14n/1-1-without-comments/example-8.xpath b/test/c14n/1-1-without-comments/example-8.xpath index 84ddb081..84ddb081 100755..100644 --- a/test/c14n/1-1-without-comments/example-8.xpath +++ b/test/c14n/1-1-without-comments/example-8.xpath diff --git a/test/c14n/1-1-without-comments/world.txt b/test/c14n/1-1-without-comments/world.txt index 04fea064..04fea064 100755..100644 --- a/test/c14n/1-1-without-comments/world.txt +++ b/test/c14n/1-1-without-comments/world.txt diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-1.xml b/test/c14n/1-1-without-comments/xmlbase-prop-1.xml index 24a899b7..24a899b7 100755..100644 --- a/test/c14n/1-1-without-comments/xmlbase-prop-1.xml +++ b/test/c14n/1-1-without-comments/xmlbase-prop-1.xml diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-1.xpath b/test/c14n/1-1-without-comments/xmlbase-prop-1.xpath index 168e98d6..168e98d6 100755..100644 --- a/test/c14n/1-1-without-comments/xmlbase-prop-1.xpath +++ b/test/c14n/1-1-without-comments/xmlbase-prop-1.xpath diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-2.xml b/test/c14n/1-1-without-comments/xmlbase-prop-2.xml index 4c85329b..4c85329b 100755..100644 --- a/test/c14n/1-1-without-comments/xmlbase-prop-2.xml +++ b/test/c14n/1-1-without-comments/xmlbase-prop-2.xml diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-2.xpath b/test/c14n/1-1-without-comments/xmlbase-prop-2.xpath index fdab0856..fdab0856 100755..100644 --- a/test/c14n/1-1-without-comments/xmlbase-prop-2.xpath +++ b/test/c14n/1-1-without-comments/xmlbase-prop-2.xpath diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-3.xml b/test/c14n/1-1-without-comments/xmlbase-prop-3.xml index 19ce7387..19ce7387 100755..100644 --- a/test/c14n/1-1-without-comments/xmlbase-prop-3.xml +++ b/test/c14n/1-1-without-comments/xmlbase-prop-3.xml diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-3.xpath b/test/c14n/1-1-without-comments/xmlbase-prop-3.xpath index de875083..de875083 100755..100644 --- a/test/c14n/1-1-without-comments/xmlbase-prop-3.xpath +++ b/test/c14n/1-1-without-comments/xmlbase-prop-3.xpath diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-4.xml b/test/c14n/1-1-without-comments/xmlbase-prop-4.xml index 57e4436f..57e4436f 100755..100644 --- a/test/c14n/1-1-without-comments/xmlbase-prop-4.xml +++ b/test/c14n/1-1-without-comments/xmlbase-prop-4.xml diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-4.xpath b/test/c14n/1-1-without-comments/xmlbase-prop-4.xpath index 818ef109..818ef109 100755..100644 --- a/test/c14n/1-1-without-comments/xmlbase-prop-4.xpath +++ b/test/c14n/1-1-without-comments/xmlbase-prop-4.xpath diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-5.xml b/test/c14n/1-1-without-comments/xmlbase-prop-5.xml index f92a897b..f92a897b 100755..100644 --- a/test/c14n/1-1-without-comments/xmlbase-prop-5.xml +++ b/test/c14n/1-1-without-comments/xmlbase-prop-5.xml diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-5.xpath b/test/c14n/1-1-without-comments/xmlbase-prop-5.xpath index 7020803f..7020803f 100755..100644 --- a/test/c14n/1-1-without-comments/xmlbase-prop-5.xpath +++ b/test/c14n/1-1-without-comments/xmlbase-prop-5.xpath diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-6.xml b/test/c14n/1-1-without-comments/xmlbase-prop-6.xml index 62824f91..62824f91 100755..100644 --- a/test/c14n/1-1-without-comments/xmlbase-prop-6.xml +++ b/test/c14n/1-1-without-comments/xmlbase-prop-6.xml diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-6.xpath b/test/c14n/1-1-without-comments/xmlbase-prop-6.xpath index 2b93c646..2b93c646 100755..100644 --- a/test/c14n/1-1-without-comments/xmlbase-prop-6.xpath +++ b/test/c14n/1-1-without-comments/xmlbase-prop-6.xpath diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-7.xml b/test/c14n/1-1-without-comments/xmlbase-prop-7.xml index ee139167..ee139167 100755..100644 --- a/test/c14n/1-1-without-comments/xmlbase-prop-7.xml +++ b/test/c14n/1-1-without-comments/xmlbase-prop-7.xml diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-7.xpath b/test/c14n/1-1-without-comments/xmlbase-prop-7.xpath index 7d37ab83..7d37ab83 100755..100644 --- a/test/c14n/1-1-without-comments/xmlbase-prop-7.xpath +++ b/test/c14n/1-1-without-comments/xmlbase-prop-7.xpath diff --git a/test/c14n/1-1-without-comments/xmlid-prop-1.xpath b/test/c14n/1-1-without-comments/xmlid-prop-1.xpath index dc5573c0..dc5573c0 100755..100644 --- a/test/c14n/1-1-without-comments/xmlid-prop-1.xpath +++ b/test/c14n/1-1-without-comments/xmlid-prop-1.xpath diff --git a/test/c14n/1-1-without-comments/xmlid-prop-2.xpath b/test/c14n/1-1-without-comments/xmlid-prop-2.xpath index bed44b7f..bed44b7f 100755..100644 --- a/test/c14n/1-1-without-comments/xmlid-prop-2.xpath +++ b/test/c14n/1-1-without-comments/xmlid-prop-2.xpath diff --git a/test/c14n/1-1-without-comments/xmllang-prop-1.xpath b/test/c14n/1-1-without-comments/xmllang-prop-1.xpath index 224924ef..224924ef 100755..100644 --- a/test/c14n/1-1-without-comments/xmllang-prop-1.xpath +++ b/test/c14n/1-1-without-comments/xmllang-prop-1.xpath diff --git a/test/c14n/1-1-without-comments/xmllang-prop-2.xpath b/test/c14n/1-1-without-comments/xmllang-prop-2.xpath index ca217581..ca217581 100755..100644 --- a/test/c14n/1-1-without-comments/xmllang-prop-2.xpath +++ b/test/c14n/1-1-without-comments/xmllang-prop-2.xpath diff --git a/test/c14n/1-1-without-comments/xmllang-prop-3.xpath b/test/c14n/1-1-without-comments/xmllang-prop-3.xpath index 86e77fa6..86e77fa6 100755..100644 --- a/test/c14n/1-1-without-comments/xmllang-prop-3.xpath +++ b/test/c14n/1-1-without-comments/xmllang-prop-3.xpath diff --git a/test/c14n/1-1-without-comments/xmllang-prop-4.xpath b/test/c14n/1-1-without-comments/xmllang-prop-4.xpath index fdc7661e..fdc7661e 100755..100644 --- a/test/c14n/1-1-without-comments/xmllang-prop-4.xpath +++ b/test/c14n/1-1-without-comments/xmllang-prop-4.xpath diff --git a/test/c14n/1-1-without-comments/xmlspace-prop-1.xpath b/test/c14n/1-1-without-comments/xmlspace-prop-1.xpath index bad373a4..bad373a4 100755..100644 --- a/test/c14n/1-1-without-comments/xmlspace-prop-1.xpath +++ b/test/c14n/1-1-without-comments/xmlspace-prop-1.xpath diff --git a/test/c14n/1-1-without-comments/xmlspace-prop-2.xpath b/test/c14n/1-1-without-comments/xmlspace-prop-2.xpath index ffb7d854..ffb7d854 100755..100644 --- a/test/c14n/1-1-without-comments/xmlspace-prop-2.xpath +++ b/test/c14n/1-1-without-comments/xmlspace-prop-2.xpath diff --git a/test/c14n/1-1-without-comments/xmlspace-prop-3.xpath b/test/c14n/1-1-without-comments/xmlspace-prop-3.xpath index 3f27aed4..3f27aed4 100755..100644 --- a/test/c14n/1-1-without-comments/xmlspace-prop-3.xpath +++ b/test/c14n/1-1-without-comments/xmlspace-prop-3.xpath diff --git a/test/c14n/1-1-without-comments/xmlspace-prop-4.xpath b/test/c14n/1-1-without-comments/xmlspace-prop-4.xpath index 49c43952..49c43952 100755..100644 --- a/test/c14n/1-1-without-comments/xmlspace-prop-4.xpath +++ b/test/c14n/1-1-without-comments/xmlspace-prop-4.xpath diff --git a/test/errors/759398.xml b/test/errors/759398.xml index 132e0297..132e0297 100755..100644 --- a/test/errors/759398.xml +++ b/test/errors/759398.xml diff --git a/test/errors/rec_ext.ent b/test/errors/rec_ext.ent new file mode 100644 index 00000000..345f836f --- /dev/null +++ b/test/errors/rec_ext.ent @@ -0,0 +1 @@ +<ent>&e; &e; &e; &e;</ent> diff --git a/test/errors/rec_ext_ent.xml b/test/errors/rec_ext_ent.xml new file mode 100644 index 00000000..b4e7e749 --- /dev/null +++ b/test/errors/rec_ext_ent.xml @@ -0,0 +1,4 @@ +<!DOCTYPE doc [ + <!ENTITY e SYSTEM "rec_ext.ent"> +]> +<doc>&e; &e; &e; &e;</doc> diff --git a/test/regexp/bug649244 b/test/regexp/bug649244 new file mode 100644 index 00000000..42988643 --- /dev/null +++ b/test/regexp/bug649244 @@ -0,0 +1,9 @@ +=>S(a|)E +SE +SxE +=>S(|b)E +SE +SxE +=>S(a||b)E +SE +SxE diff --git a/test/regexp/bug757711 b/test/regexp/bug757711 new file mode 100644 index 00000000..29098354 --- /dev/null +++ b/test/regexp/bug757711 @@ -0,0 +1 @@ +=>[;^((- diff --git a/test/regexp/bug783015 b/test/regexp/bug783015 new file mode 100644 index 00000000..5c91a0f1 --- /dev/null +++ b/test/regexp/bug783015 @@ -0,0 +1,4 @@ +# This assumes 32-bit ints. +=>.{2147483647} +input +=>.{2147483648} diff --git a/test/relaxng/ambig_name-class.rng b/test/relaxng/ambig_name-class.rng new file mode 100755 index 00000000..08533d39 --- /dev/null +++ b/test/relaxng/ambig_name-class.rng @@ -0,0 +1 @@ +tutorA.rng
\ No newline at end of file diff --git a/test/relaxng/ambig_name-class.xml b/test/relaxng/ambig_name-class.xml new file mode 100644 index 00000000..de673f2e --- /dev/null +++ b/test/relaxng/ambig_name-class.xml @@ -0,0 +1,16 @@ +<grammar xmlns="http://relaxng.org/ns/structure/1.0" > + <start> + <element name="foo"> + <attribute> + <choice> + <name>alpha</name> + <name>bravo</name> + </choice> + <choice> + <value>none</value> + <value>all</value> + </choice> + </attribute> + </element> + </start> +</grammar> diff --git a/test/relaxng/ambig_name-class2.rng b/test/relaxng/ambig_name-class2.rng new file mode 100755 index 00000000..6cc955c1 --- /dev/null +++ b/test/relaxng/ambig_name-class2.rng @@ -0,0 +1 @@ +ambig_name-class.xml
\ No newline at end of file diff --git a/test/relaxng/ambig_name-class2.xml b/test/relaxng/ambig_name-class2.xml new file mode 100644 index 00000000..3c1e4e25 --- /dev/null +++ b/test/relaxng/ambig_name-class2.xml @@ -0,0 +1 @@ +<foo alpha="all"/> diff --git a/test/relaxng/docbook_0.xml b/test/relaxng/docbook_0.xml index ede051df..551d08ab 100644 --- a/test/relaxng/docbook_0.xml +++ b/test/relaxng/docbook_0.xml @@ -625,7 +625,7 @@ V1.1//EN"[]>]]> the directory. </para> <para> - If you want to create PostScript ouput, you will need to create an + If you want to create PostScript output, you will need to create an EPS version of your image file to be displayed in the PostScript file. There is a simple script available which allows you to change a PNG image into an EPS file @@ -2866,9 +2866,9 @@ GDP Team ####### --> <!-- For this app, one could put "proving" or "edit" (probably even - both of them) as sect2's seperate from the main window + both of them) as sect2's separate from the main window section. Since they were both so closely involved with the main - window, I decided to have them as sect3's isntead. Judgement + window, I decided to have them as sect3's instead. Judgement call. --> <sect3 id="proving"> @@ -2883,7 +2883,7 @@ GDP Team ####### --> bring up the <interface>New Proof</interface> dialog box. Enter the statement of the theorem in the <guilabel>Theorem statement</guilabel> field, select your - desired proof type from the drop-down menu, and and press + desired proof type from the drop-down menu, and press <guibutton>Prove!</guibutton>. </para> <para> diff --git a/test/relaxng/spec_0.xml b/test/relaxng/spec_0.xml index cb8f7be5..3cb96c78 100644 --- a/test/relaxng/spec_0.xml +++ b/test/relaxng/spec_0.xml @@ -530,7 +530,7 @@ value of each <literal>name</literal>, <literal>type</literal> and <section>
<title><literal>datatypeLibrary</literal> attribute</title>
-<para>The value of each <literal>datatypeLibary</literal> attribute is
+<para>The value of each <literal>datatypeLibrary</literal> attribute is
transformed by escaping disallowed characters as specified in Section
5.4 of <xref linkend="xlink"/>.</para>
diff --git a/test/relaxng/tutor11_1_3.xml b/test/relaxng/tutor11_1_3.xml index c778ce06..d146032d 100644 --- a/test/relaxng/tutor11_1_3.xml +++ b/test/relaxng/tutor11_1_3.xml @@ -1335,7 +1335,7 @@ default white-space processing modes are acceptable for this element; the value "<code>preserve</code>" indicates the intent that applications preserve all the white space. This declared intent is considered to apply to all elements within the content -of the element where it is specified, unless overriden with another instance +of the element where it is specified, unless overridden with another instance of the <kw>xml:space</kw> attribute. </p> <p>The <termref def='dt-root'>root element</termref> of any document diff --git a/test/schemas/any6_0.xml b/test/schemas/any6_0.xml index 068a1a9e..068a1a9e 100755..100644 --- a/test/schemas/any6_0.xml +++ b/test/schemas/any6_0.xml diff --git a/test/schemas/any7_0.xml b/test/schemas/any7_0.xml index 288b1e7f..288b1e7f 100755..100644 --- a/test/schemas/any7_0.xml +++ b/test/schemas/any7_0.xml diff --git a/test/schemas/any7_1.xml b/test/schemas/any7_1.xml index 624c7120..624c7120 100755..100644 --- a/test/schemas/any7_1.xml +++ b/test/schemas/any7_1.xml diff --git a/test/schemas/any7_1.xsd b/test/schemas/any7_1.xsd index 546904fb..546904fb 100755..100644 --- a/test/schemas/any7_1.xsd +++ b/test/schemas/any7_1.xsd diff --git a/test/schemas/any7_2.xsd b/test/schemas/any7_2.xsd index cabfd982..cabfd982 100755..100644 --- a/test/schemas/any7_2.xsd +++ b/test/schemas/any7_2.xsd diff --git a/test/schemas/bug152470_1.xml b/test/schemas/bug152470_1.xml index adca2377..adca2377 100755..100644 --- a/test/schemas/bug152470_1.xml +++ b/test/schemas/bug152470_1.xml diff --git a/test/schemas/bug152470_1.xsd b/test/schemas/bug152470_1.xsd index 7fc97477..7fc97477 100755..100644 --- a/test/schemas/bug152470_1.xsd +++ b/test/schemas/bug152470_1.xsd diff --git a/test/schemas/date_0.xml b/test/schemas/date_0.xml index 6c677edb..53128a91 100644 --- a/test/schemas/date_0.xml +++ b/test/schemas/date_0.xml @@ -13,6 +13,7 @@ <dt1>2000-05-18T00:00:00</dt1> <dt2>2002-05-19T21:30:00.99</dt2> <dt1>1969-12-31T23:00:01-01:00</dt1> + <dt1>2000-06-06T00:00:00+14:00</dt1> <hol>--01-01</hol> <hol>--07-04</hol> <hol>--12-25</hol> diff --git a/test/schemas/import-bad-1_0.imp b/test/schemas/import-bad-1_0.imp index d70c0129..d70c0129 100755..100644 --- a/test/schemas/import-bad-1_0.imp +++ b/test/schemas/import-bad-1_0.imp diff --git a/test/schemas/issue40_0.xml b/test/schemas/issue40_0.xml new file mode 100644 index 00000000..86cff1d0 --- /dev/null +++ b/test/schemas/issue40_0.xml @@ -0,0 +1,3 @@ +<a:aaa xmlns:a="aaa_ns"> + <x/> +</a:aaa> diff --git a/test/schemas/issue40_0.xsd b/test/schemas/issue40_0.xsd new file mode 100644 index 00000000..a7eff55b --- /dev/null +++ b/test/schemas/issue40_0.xsd @@ -0,0 +1,10 @@ +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="aaa_ns" xmlns="http://www.w3.org/1999/XSL/Transform"> + <xsd:element name="aaa"> + <xsd:complexType> + <xsd:choice> + <xsd:any namespace="##other" processContents="skip" /> + <xsd:any namespace="##local" processContents="skip" /> + </xsd:choice> + </xsd:complexType> + </xsd:element> +</xsd:schema> diff --git a/test/schemas/vdv-first4_0.xsd b/test/schemas/vdv-first4_0.xsd index 9e8e2363..9e8e2363 100755..100644 --- a/test/schemas/vdv-first4_0.xsd +++ b/test/schemas/vdv-first4_0.xsd diff --git a/test/threads/abc.xml b/test/threads/abc.xml index ee98144d..b3488eb8 100644 --- a/test/threads/abc.xml +++ b/test/threads/abc.xml @@ -1,6 +1,6 @@ <!DOCTYPE abc SYSTEM "http://example.org/abc.dtd"> <abc> - <a>Let's use predefined entites & < ></a> + <a>Let's use predefined entities & < ></a> <b>Let's use a DTD defined entity &bent;</b> <c/> </abc> diff --git a/test/threads/acb.xml b/test/threads/acb.xml index a14e362b..e8731c20 100644 --- a/test/threads/acb.xml +++ b/test/threads/acb.xml @@ -1,6 +1,6 @@ <!DOCTYPE acb SYSTEM "http://example.org/acb.dtd"> <acb> - <a>Let's use predefined entites & < ></a> + <a>Let's use predefined entities & < ></a> <c/> <b>Let's use a DTD defined entity &bent;</b> </acb> diff --git a/test/threads/bac.xml b/test/threads/bac.xml index 63d6efc5..899fdbf4 100644 --- a/test/threads/bac.xml +++ b/test/threads/bac.xml @@ -1,7 +1,7 @@ <!DOCTYPE bac SYSTEM "http://example.org/bac.dtd"> <bac> <b>Let's use a DTD defined entity &bent;</b> - <a>Let's use predefined entites & < ></a> + <a>Let's use predefined entities & < ></a> <c/> </bac> diff --git a/test/threads/bca.xml b/test/threads/bca.xml index ce60d016..266c5668 100644 --- a/test/threads/bca.xml +++ b/test/threads/bca.xml @@ -2,6 +2,6 @@ <bca> <b>Let's use a DTD defined entity &bent;</b> <c/> - <a>Let's use predefined entites & < ></a> + <a>Let's use predefined entities & < ></a> </bca> diff --git a/test/threads/cab.xml b/test/threads/cab.xml index a1631d0c..9f5397cd 100644 --- a/test/threads/cab.xml +++ b/test/threads/cab.xml @@ -1,7 +1,7 @@ <!DOCTYPE cab SYSTEM "http://example.org/cab.dtd"> <cab> <c/> - <a>Let's use predefined entites & < ></a> + <a>Let's use predefined entities & < ></a> <b>Let's use a DTD defined entity &bent;</b> </cab> diff --git a/test/threads/cba.xml b/test/threads/cba.xml index 78708e4d..54889269 100644 --- a/test/threads/cba.xml +++ b/test/threads/cba.xml @@ -2,6 +2,6 @@ <cba> <c/> <b>Let's use a DTD defined entity &bent;</b> - <a>Let's use predefined entites & < ></a> + <a>Let's use predefined entities & < ></a> </cba> diff --git a/test/valid/REC-xml-19980210.xml b/test/valid/REC-xml-19980210.xml index 4e93fb38..bec8e904 100644 --- a/test/valid/REC-xml-19980210.xml +++ b/test/valid/REC-xml-19980210.xml @@ -1335,7 +1335,7 @@ default white-space processing modes are acceptable for this element; the value "<code>preserve</code>" indicates the intent that applications preserve all the white space. This declared intent is considered to apply to all elements within the content -of the element where it is specified, unless overriden with another instance +of the element where it is specified, unless overridden with another instance of the <kw>xml:space</kw> attribute. </p> <p>The <termref def='dt-root'>root element</termref> of any document diff --git a/test/valid/cond_sect1.xml b/test/valid/cond_sect1.xml new file mode 100644 index 00000000..796faa43 --- /dev/null +++ b/test/valid/cond_sect1.xml @@ -0,0 +1,7 @@ +<!DOCTYPE doc SYSTEM "dtds/cond_sect1.dtd" [ + <!ENTITY % include "INCLUDE"> + <!ENTITY % ignore "IGNORE"> +]> +<doc> + <child>text</child> +</doc> diff --git a/test/valid/cond_sect2.xml b/test/valid/cond_sect2.xml new file mode 100644 index 00000000..5153d053 --- /dev/null +++ b/test/valid/cond_sect2.xml @@ -0,0 +1,4 @@ +<!DOCTYPE doc SYSTEM "dtds/cond_sect2.dtd"> +<doc> + <child>text</child> +</doc> diff --git a/test/valid/dtds/cond_sect1.dtd b/test/valid/dtds/cond_sect1.dtd new file mode 100644 index 00000000..e3270229 --- /dev/null +++ b/test/valid/dtds/cond_sect1.dtd @@ -0,0 +1,20 @@ +<![ %include; [ + <![%include; [ + <![ %include;[ + <![%include;[ + <!ELEMENT doc (child)> + <!ELEMENT child (#PCDATA)> + ]]> + ]]> + ]]> +]]> +<![ %ignore; [ + <![%include; [ + <![ %include;[ + <![%ignore;[ + <!ELEMENT doc (x)> + <!ELEMENT child (y)> + ]]> + ]]> + ]]> +]]> diff --git a/test/valid/dtds/cond_sect2.dtd b/test/valid/dtds/cond_sect2.dtd new file mode 100644 index 00000000..29eb4bfe --- /dev/null +++ b/test/valid/dtds/cond_sect2.dtd @@ -0,0 +1,16 @@ +<!ENTITY % ent "]]>"> +<![INCLUDE[ + <![INCLUDE[ + <![INCLUDE[ + <![INCLUDE[ + <![INCLUDE[ + <![INCLUDE[ + <![INCLUDE[ + <![INCLUDE[ + ]]> + ]]> + ]]> + ]]> + ]]> + %ent; +]]> diff --git a/test/valid/dtds/spec.dtd b/test/valid/dtds/spec.dtd index 0fdfb863..0fdfb863 100755..100644 --- a/test/valid/dtds/spec.dtd +++ b/test/valid/dtds/spec.dtd diff --git a/test/valid/xhtml1.xhtml b/test/valid/xhtml1.xhtml index 24d68f43..e47f9bb1 100644 --- a/test/valid/xhtml1.xhtml +++ b/test/valid/xhtml1.xhtml @@ -1348,7 +1348,7 @@ attribute names.</li> <li>In tables, the tbody element will be inferred by the parser of an HTML user agent, but not by the parser of an XML user agent. Therefore -you should always explicitely add a tbody element if it is referred to +you should always explicitly add a tbody element if it is referred to in a CSS selector.</li> <li>Within the XHTML name space, user agents are expected to diff --git a/testAutomata.c b/testAutomata.c index 6c4de900..13213c69 100644 --- a/testAutomata.c +++ b/testAutomata.c @@ -1,5 +1,5 @@ /* - * testRegexp.c: simple module for testing regular expressions + * testAutomata.c: simple module for testing regexp automata * * See Copyright for the status of this software. * @@ -18,6 +18,9 @@ #define STDOUT_FILENO fileno(stdout) #endif /* HAVE_UNISTD_H */ #endif +#ifdef _WIN32 +#include <io.h> +#endif #ifdef HAVE_STDLIB_H #include <stdlib.h> #endif diff --git a/testReader.c b/testReader.c index 8f8e26d5..da2f1b02 100644 --- a/testReader.c +++ b/testReader.c @@ -1,5 +1,5 @@ /* - * testSAX.c : a small tester program for parsing using the SAX API. + * testReader.c : a small tester program for parsing using the xmlReader * * See Copyright for the status of this software. * diff --git a/testRegexp.c b/testRegexp.c index 21dac945..21817414 100644 --- a/testRegexp.c +++ b/testRegexp.c @@ -185,20 +185,19 @@ static void testReduce(xmlExpCtxtPtr ctxt, xmlExpNodePtr expr, const char *tst) { xmlBufferPtr xmlExpBuf; xmlExpNodePtr sub, deriv; - xmlExpBuf = xmlBufferCreate(); sub = xmlExpParse(ctxt, tst); if (sub == NULL) { printf("Subset %s failed to parse\n", tst); return; } + xmlExpBuf = xmlBufferCreate(); xmlExpDump(xmlExpBuf, sub); printf("Subset parsed as: %s\n", (const char *) xmlBufferContent(xmlExpBuf)); deriv = xmlExpExpDerive(ctxt, expr, sub); if (deriv == NULL) { printf("Derivation led to an internal error, report this !\n"); - return; } else { xmlBufferEmpty(xmlExpBuf); xmlExpDump(xmlExpBuf, deriv); @@ -210,6 +209,7 @@ testReduce(xmlExpCtxtPtr ctxt, xmlExpNodePtr expr, const char *tst) { (const char *) xmlBufferContent(xmlExpBuf)); xmlExpFree(ctxt, deriv); } + xmlBufferFree(xmlExpBuf); xmlExpFree(ctxt, sub); } diff --git a/testRelax.c b/testRelax.c index 8e94a7a8..3549f938 100644 --- a/testRelax.c +++ b/testRelax.c @@ -101,9 +101,7 @@ int main(int argc, char **argv) { ctxt = xmlRelaxNGNewMemParserCtxt((char *)base,info.st_size); xmlRelaxNGSetParserErrors(ctxt, - (xmlRelaxNGValidityErrorFunc) fprintf, - (xmlRelaxNGValidityWarningFunc) fprintf, - stderr); + xmlGenericError, xmlGenericError, NULL); schema = xmlRelaxNGParse(ctxt); xmlRelaxNGFreeParserCtxt(ctxt); munmap((char *) base, info.st_size); @@ -112,9 +110,7 @@ int main(int argc, char **argv) { { ctxt = xmlRelaxNGNewParserCtxt(argv[i]); xmlRelaxNGSetParserErrors(ctxt, - (xmlRelaxNGValidityErrorFunc) fprintf, - (xmlRelaxNGValidityWarningFunc) fprintf, - stderr); + xmlGenericError, xmlGenericError, NULL); schema = xmlRelaxNGParse(ctxt); xmlRelaxNGFreeParserCtxt(ctxt); } @@ -144,9 +140,7 @@ int main(int argc, char **argv) { ctxt = xmlRelaxNGNewValidCtxt(schema); xmlRelaxNGSetValidErrors(ctxt, - (xmlRelaxNGValidityErrorFunc) fprintf, - (xmlRelaxNGValidityWarningFunc) fprintf, - stderr); + xmlGenericError, xmlGenericError, NULL); ret = xmlRelaxNGValidateDoc(ctxt, doc); if (ret == 0) { printf("%s validates\n", argv[i]); diff --git a/testSchemas.c b/testSchemas.c index b98e6313..fc39862c 100644 --- a/testSchemas.c +++ b/testSchemas.c @@ -97,9 +97,7 @@ int main(int argc, char **argv) { ctxt = xmlSchemaNewMemParserCtxt((char *)base,info.st_size); xmlSchemaSetParserErrors(ctxt, - (xmlSchemaValidityErrorFunc) fprintf, - (xmlSchemaValidityWarningFunc) fprintf, - stderr); + xmlGenericError, xmlGenericError, NULL); schema = xmlSchemaParse(ctxt); xmlSchemaFreeParserCtxt(ctxt); munmap((char *) base, info.st_size); @@ -108,9 +106,7 @@ int main(int argc, char **argv) { { ctxt = xmlSchemaNewParserCtxt(argv[i]); xmlSchemaSetParserErrors(ctxt, - (xmlSchemaValidityErrorFunc) fprintf, - (xmlSchemaValidityWarningFunc) fprintf, - stderr); + xmlGenericError, xmlGenericError, NULL); schema = xmlSchemaParse(ctxt); xmlSchemaFreeParserCtxt(ctxt); } @@ -135,9 +131,7 @@ int main(int argc, char **argv) { ctxt = xmlSchemaNewValidCtxt(schema); xmlSchemaSetValidErrors(ctxt, - (xmlSchemaValidityErrorFunc) fprintf, - (xmlSchemaValidityWarningFunc) fprintf, - stderr); + xmlGenericError, xmlGenericError, NULL); ret = xmlSchemaValidateDoc(ctxt, doc); if (ret == 0) { printf("%s validates\n", argv[i]); diff --git a/testThreads.c b/testThreads.c index 2ef70a74..bef65377 100644 --- a/testThreads.c +++ b/testThreads.c @@ -10,6 +10,8 @@ #include <libxml/catalog.h> #ifdef HAVE_PTHREAD_H #include <pthread.h> +#elif defined HAVE_WIN32_THREADS +#include <windows.h> #elif defined HAVE_BEOS_THREADS #include <OS.h> #endif @@ -20,25 +22,32 @@ #include <assert.h> #define MAX_ARGC 20 +#define TEST_REPEAT_COUNT 500 #ifdef HAVE_PTHREAD_H static pthread_t tid[MAX_ARGC]; +#elif defined HAVE_WIN32_THREADS +static HANDLE tid[MAX_ARGC]; #elif defined HAVE_BEOS_THREADS static thread_id tid[MAX_ARGC]; #endif +typedef struct { + const char *filename; + int okay; +} xmlThreadParams; + static const char *catalog = "test/threads/complex.xml"; -static const char *testfiles[] = { - "test/threads/abc.xml", - "test/threads/acb.xml", - "test/threads/bac.xml", - "test/threads/bca.xml", - "test/threads/cab.xml", - "test/threads/cba.xml", - "test/threads/invalid.xml", +static xmlThreadParams threadParams[] = { + { "test/threads/abc.xml", 0 }, + { "test/threads/acb.xml", 0 }, + { "test/threads/bac.xml", 0 }, + { "test/threads/bca.xml", 0 }, + { "test/threads/cab.xml", 0 }, + { "test/threads/cba.xml", 0 }, + { "test/threads/invalid.xml", 0 } }; - -static const char *Okay = "OK"; -static const char *Failed = "Failed"; +static const unsigned int num_threads = sizeof(threadParams) / + sizeof(threadParams[0]); #ifndef xmlDoValidityCheckingDefaultValue #error xmlDoValidityCheckingDefaultValue is not a macro @@ -51,7 +60,8 @@ static void * thread_specific_data(void *private_data) { xmlDocPtr myDoc; - const char *filename = (const char *) private_data; + xmlThreadParams *params = (xmlThreadParams *) private_data; + const char *filename = params->filename; int okay = 1; if (!strcmp(filename, "test/threads/invalid.xml")) { @@ -91,9 +101,8 @@ thread_specific_data(void *private_data) okay = 0; } } - if (okay == 0) - return((void *) Failed); - return ((void *) Okay); + params->okay = okay; + return(NULL); } #ifdef HAVE_PTHREAD_H @@ -101,27 +110,25 @@ int main(void) { unsigned int i, repeat; - unsigned int num_threads = sizeof(testfiles) / sizeof(testfiles[0]); - void *results[MAX_ARGC]; int ret; xmlInitParser(); - for (repeat = 0;repeat < 500;repeat++) { + for (repeat = 0;repeat < TEST_REPEAT_COUNT;repeat++) { xmlLoadCatalog(catalog); - memset(results, 0, sizeof(*results)*num_threads); memset(tid, 0xff, sizeof(*tid)*num_threads); for (i = 0; i < num_threads; i++) { ret = pthread_create(&tid[i], NULL, thread_specific_data, - (void *) testfiles[i]); + (void *) &threadParams[i]); if (ret != 0) { perror("pthread_create"); exit(1); } } for (i = 0; i < num_threads; i++) { - ret = pthread_join(tid[i], &results[i]); + void *result; + ret = pthread_join(tid[i], &result); if (ret != 0) { perror("pthread_join"); exit(1); @@ -130,35 +137,97 @@ main(void) xmlCatalogCleanup(); for (i = 0; i < num_threads; i++) - if (results[i] != (void *) Okay) - printf("Thread %d handling %s failed\n", i, testfiles[i]); + if (threadParams[i].okay == 0) + printf("Thread %d handling %s failed\n", i, + threadParams[i].filename); } xmlCleanupParser(); xmlMemoryDump(); return (0); } +#elif defined HAVE_WIN32_THREADS +static DWORD WINAPI +win32_thread_specific_data(void *private_data) +{ + thread_specific_data(private_data); + return(0); +} + +int +main(void) +{ + unsigned int i, repeat; + BOOL ret; + + xmlInitParser(); + for (repeat = 0;repeat < TEST_REPEAT_COUNT;repeat++) + { + xmlLoadCatalog(catalog); + + for (i = 0; i < num_threads; i++) + { + tid[i] = (HANDLE) -1; + } + + for (i = 0; i < num_threads; i++) + { + DWORD useless; + tid[i] = CreateThread(NULL, 0, + win32_thread_specific_data, &threadParams[i], 0, &useless); + if (tid[i] == NULL) + { + perror("CreateThread"); + exit(1); + } + } + + if (WaitForMultipleObjects (num_threads, tid, TRUE, INFINITE) == WAIT_FAILED) + perror ("WaitForMultipleObjects failed"); + + for (i = 0; i < num_threads; i++) + { + DWORD exitCode; + ret = GetExitCodeThread (tid[i], &exitCode); + if (ret == 0) + { + perror("GetExitCodeThread"); + exit(1); + } + CloseHandle (tid[i]); + } + + xmlCatalogCleanup(); + for (i = 0; i < num_threads; i++) { + if (threadParams[i].okay == 0) + printf("Thread %d handling %s failed\n", i, + threadParams[i].filename); + } + } + + xmlCleanupParser(); + xmlMemoryDump(); + + return (0); +} #elif defined HAVE_BEOS_THREADS int main(void) { unsigned int i, repeat; - unsigned int num_threads = sizeof(testfiles) / sizeof(testfiles[0]); - void *results[MAX_ARGC]; status_t ret; xmlInitParser(); printf("Parser initialized\n"); - for (repeat = 0;repeat < 500;repeat++) { + for (repeat = 0;repeat < TEST_REPEAT_COUNT;repeat++) { printf("repeat: %d\n",repeat); xmlLoadCatalog(catalog); printf("loaded catalog: %s\n", catalog); for (i = 0; i < num_threads; i++) { - results[i] = NULL; tid[i] = (thread_id) -1; } printf("cleaned threads\n"); for (i = 0; i < num_threads; i++) { - tid[i] = spawn_thread(thread_specific_data, "xmlTestThread", B_NORMAL_PRIORITY, (void *) testfiles[i]); + tid[i] = spawn_thread(thread_specific_data, "xmlTestThread", B_NORMAL_PRIORITY, (void *) &threadParams[i]); if (tid[i] < B_OK) { perror("beos_thread_create"); exit(1); @@ -166,7 +235,8 @@ main(void) printf("beos_thread_create %d -> %d\n", i, tid[i]); } for (i = 0; i < num_threads; i++) { - ret = wait_for_thread(tid[i], &results[i]); + void *result; + ret = wait_for_thread(tid[i], &result); printf("beos_thread_wait %d -> %d\n", i, ret); if (ret != B_OK) { perror("beos_thread_wait"); @@ -177,8 +247,9 @@ main(void) xmlCatalogCleanup(); ret = B_OK; for (i = 0; i < num_threads; i++) - if (results[i] != (void *) Okay) { - printf("Thread %d handling %s failed\n", i, testfiles[i]); + if (threadParams[i].okay == 0) { + printf("Thread %d handling %s failed\n", i, + threadParams[i].filename); ret = B_ERROR; } } diff --git a/testThreadsWin32.c b/testThreadsWin32.c deleted file mode 100644 index 3d1a5ba2..00000000 --- a/testThreadsWin32.c +++ /dev/null @@ -1,150 +0,0 @@ -#include "libxml.h" -#include <stdlib.h> -#include <stdio.h> - -#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) -#include <libxml/globals.h> -#include <libxml/threads.h> -#include <libxml/parser.h> -#include <libxml/catalog.h> -#include <windows.h> -#include <string.h> -#include <assert.h> - -#define MAX_ARGC 20 -#define TEST_REPEAT_COUNT 500 - -static HANDLE tid[MAX_ARGC]; - -static const char *catalog = "test/threads/complex.xml"; -static char *testfiles[] = { - "test/threads/abc.xml", - "test/threads/acb.xml", - "test/threads/bac.xml", - "test/threads/bca.xml", - "test/threads/cab.xml", - "test/threads/cba.xml", - "test/threads/invalid.xml", -}; - -const char *Okay = "OK"; -const char *Failed = "Failed"; - -#ifndef xmlDoValidityCheckingDefaultValue -#error xmlDoValidityCheckingDefaultValue is not a macro -#endif -#ifndef xmlGenericErrorContext -#error xmlGenericErrorContext is not a macro -#endif - -static DWORD WINAPI -thread_specific_data(void *private_data) -{ - xmlDocPtr myDoc; - const char *filename = (const char *) private_data; - int okay = 1; - - if (!strcmp(filename, "test/threads/invalid.xml")) { - xmlDoValidityCheckingDefaultValue = 0; - xmlGenericErrorContext = stdout; - } else { - xmlDoValidityCheckingDefaultValue = 1; - xmlGenericErrorContext = stderr; - } - myDoc = xmlParseFile(filename); - if (myDoc) { - xmlFreeDoc(myDoc); - } else { - printf("parse failed\n"); - okay = 0; - } - if (!strcmp(filename, "test/threads/invalid.xml")) { - if (xmlDoValidityCheckingDefaultValue != 0) { - printf("ValidityCheckingDefaultValue override failed\n"); - okay = 0; - } - if (xmlGenericErrorContext != stdout) { - printf("xmlGenericErrorContext override failed\n"); - okay = 0; - } - } else { - if (xmlDoValidityCheckingDefaultValue != 1) { - printf("ValidityCheckingDefaultValue override failed\n"); - okay = 0; - } - if (xmlGenericErrorContext != stderr) { - printf("xmlGenericErrorContext override failed\n"); - okay = 0; - } - } - if (okay == 0) - return ((DWORD) Failed); - return ((DWORD) Okay); -} - -int -main() -{ - unsigned int i, repeat; - unsigned int num_threads = sizeof(testfiles) / sizeof(testfiles[0]); - DWORD results[MAX_ARGC]; - BOOL ret; - - xmlInitParser(); - for (repeat = 0;repeat < TEST_REPEAT_COUNT;repeat++) - { - xmlLoadCatalog(catalog); - - for (i = 0; i < num_threads; i++) - { - results[i] = 0; - tid[i] = (HANDLE) -1; - } - - for (i = 0; i < num_threads; i++) - { - DWORD useless; - tid[i] = CreateThread(NULL, 0, - thread_specific_data, testfiles[i], 0, &useless); - if (tid[i] == NULL) - { - perror("CreateThread"); - exit(1); - } - } - - if (WaitForMultipleObjects (num_threads, tid, TRUE, INFINITE) == WAIT_FAILED) - perror ("WaitForMultipleObjects failed"); - - for (i = 0; i < num_threads; i++) - { - ret = GetExitCodeThread (tid[i], &results[i]); - if (ret == 0) - { - perror("GetExitCodeThread"); - exit(1); - } - CloseHandle (tid[i]); - } - - xmlCatalogCleanup(); - for (i = 0; i < num_threads; i++) { - if (results[i] != (DWORD) Okay) - printf("Thread %d handling %s failed\n", i, testfiles[i]); - } - } - - xmlCleanupParser(); - xmlMemoryDump(); - - return (0); -} - -#else /* !LIBXML_THREADS_ENABLED */ -int -main() -{ - fprintf(stderr, "libxml was not compiled with thread or catalog support\n"); - return (0); -} -#endif @@ -5450,7 +5450,7 @@ test_xmlC14NDocSave(void) { int n_with_comments; const char * filename; /* the filename to store canonical XML image */ int n_filename; - int compression; /* the compression level (zlib requred): -1 - libxml default, 0 - uncompressed, >0 - compression level */ + int compression; /* the compression level (zlib required): -1 - libxml default, 0 - uncompressed, >0 - compression level */ int n_compression; for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) { @@ -7511,13 +7511,6 @@ test_xmlLsOneNode(void) { } -#define gen_nb_char_ptr 1 -static char * gen_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { - return(NULL); -} -static void des_char_ptr(int no ATTRIBUTE_UNUSED, char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { -} - static int test_xmlShell(void) { int test_ret = 0; @@ -7528,6 +7521,13 @@ test_xmlShell(void) { } +#define gen_nb_char_ptr 1 +static char * gen_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_char_ptr(int no ATTRIBUTE_UNUSED, char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + static int test_xmlShellBase(void) { int test_ret = 0; @@ -8693,7 +8693,7 @@ test_xmlCharEncCloseFunc(void) { int mem_base; int ret_val; - xmlCharEncodingHandler * handler; /* char enconding transformation data structure */ + xmlCharEncodingHandler * handler; /* char encoding transformation data structure */ int n_handler; for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) { @@ -8725,7 +8725,7 @@ test_xmlCharEncFirstLine(void) { int mem_base; int ret_val; - xmlCharEncodingHandler * handler; /* char enconding transformation data structure */ + xmlCharEncodingHandler * handler; /* char encoding transformation data structure */ int n_handler; xmlBufferPtr out; /* an xmlBuffer for the output. */ int n_out; @@ -8817,7 +8817,7 @@ test_xmlCharEncOutFunc(void) { int mem_base; int ret_val; - xmlCharEncodingHandler * handler; /* char enconding transformation data structure */ + xmlCharEncodingHandler * handler; /* char encoding transformation data structure */ int n_handler; xmlBufferPtr out; /* an xmlBuffer for the output. */ int n_out; @@ -9334,13 +9334,6 @@ test_xmlCleanupPredefinedEntities(void) { } -#define gen_nb_xmlEntitiesTablePtr 1 -static xmlEntitiesTablePtr gen_xmlEntitiesTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { - return(NULL); -} -static void des_xmlEntitiesTablePtr(int no ATTRIBUTE_UNUSED, xmlEntitiesTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { -} - static int test_xmlCopyEntitiesTable(void) { int test_ret = 0; @@ -9361,6 +9354,13 @@ test_xmlCreateEntitiesTable(void) { } +#define gen_nb_xmlEntitiesTablePtr 1 +static xmlEntitiesTablePtr gen_xmlEntitiesTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlEntitiesTablePtr(int no ATTRIBUTE_UNUSED, xmlEntitiesTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + static int test_xmlDumpEntitiesTable(void) { int test_ret = 0; @@ -13613,7 +13613,7 @@ test_xmlParseBalancedChunkMemory(void) { int ret_val; xmlDocPtr doc; /* the document the chunk pertains to */ int n_doc; - xmlSAXHandlerPtr sax; /* the SAX handler bloc (possibly NULL) */ + xmlSAXHandlerPtr sax; /* the SAX handler block (possibly NULL) */ int n_sax; void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */ int n_user_data; @@ -13689,7 +13689,7 @@ test_xmlParseBalancedChunkMemoryRecover(void) { int ret_val; xmlDocPtr doc; /* the document the chunk pertains to */ int n_doc; - xmlSAXHandlerPtr sax; /* the SAX handler bloc (possibly NULL) */ + xmlSAXHandlerPtr sax; /* the SAX handler block (possibly NULL) */ int n_sax; void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */ int n_user_data; @@ -14065,7 +14065,7 @@ test_xmlParseExternalEntity(void) { int ret_val; xmlDocPtr doc; /* the document the chunk pertains to */ int n_doc; - xmlSAXHandlerPtr sax; /* the SAX handler bloc (possibly NULL) */ + xmlSAXHandlerPtr sax; /* the SAX handler block (possibly NULL) */ int n_sax; void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */ int n_user_data; @@ -16158,7 +16158,7 @@ test_xmlErrMemory(void) { int mem_base; xmlParserCtxtPtr ctxt; /* an XML parser context */ int n_ctxt; - char * extra; /* extra informations */ + char * extra; /* extra information */ int n_extra; for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) { @@ -18145,16 +18145,6 @@ test_xmlSchematronNewParserCtxt(void) { return(test_ret); } -#ifdef LIBXML_SCHEMATRON_ENABLED - -#define gen_nb_xmlSchematronPtr 1 -static xmlSchematronPtr gen_xmlSchematronPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { - return(NULL); -} -static void des_xmlSchematronPtr(int no ATTRIBUTE_UNUSED, xmlSchematronPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { -} -#endif - static int test_xmlSchematronNewValidCtxt(void) { @@ -18165,19 +18155,19 @@ test_xmlSchematronNewValidCtxt(void) { return(test_ret); } -#ifdef LIBXML_SCHEMATRON_ENABLED -#define gen_nb_xmlSchematronParserCtxtPtr 1 -static xmlSchematronParserCtxtPtr gen_xmlSchematronParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { - return(NULL); -} -static void des_xmlSchematronParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchematronParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +static int +test_xmlSchematronParse(void) { + int test_ret = 0; + + + /* missing type support */ + return(test_ret); } -#endif static int -test_xmlSchematronParse(void) { +test_xmlSchematronSetValidStructuredErrors(void) { int test_ret = 0; @@ -18197,16 +18187,6 @@ static void des_xmlSchematronValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchematron static int -test_xmlSchematronSetValidStructuredErrors(void) { - int test_ret = 0; - - - /* missing type support */ - return(test_ret); -} - - -static int test_xmlSchematronValidateDoc(void) { int test_ret = 0; @@ -18215,7 +18195,7 @@ test_xmlSchematronValidateDoc(void) { int ret_val; xmlSchematronValidCtxtPtr ctxt; /* the schema validation context */ int n_ctxt; - xmlDocPtr instance; /* the document instace tree */ + xmlDocPtr instance; /* the document instance tree */ int n_instance; for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchematronValidCtxtPtr;n_ctxt++) { @@ -18665,13 +18645,6 @@ test_xmlBufShrink(void) { } -#define gen_nb_const_xmlBufPtr 1 -static xmlBufPtr gen_const_xmlBufPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { - return(NULL); -} -static void des_const_xmlBufPtr(int no ATTRIBUTE_UNUSED, const xmlBufPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { -} - static int test_xmlBufUse(void) { int test_ret = 0; @@ -23295,7 +23268,7 @@ test_xmlSaveFileTo(void) { int n_buf; xmlDocPtr cur; /* the document */ int n_cur; - char * encoding; /* the encoding if any assuming the I/O layer handles the trancoding */ + char * encoding; /* the encoding if any assuming the I/O layer handles the transcoding */ int n_encoding; for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) { @@ -23447,7 +23420,7 @@ test_xmlSaveFormatFileTo(void) { int n_buf; xmlDocPtr cur; /* the document */ int n_cur; - char * encoding; /* the encoding if any assuming the I/O layer handles the trancoding */ + char * encoding; /* the encoding if any assuming the I/O layer handles the transcoding */ int n_encoding; int format; /* should formatting spaces been added */ int n_format; @@ -25100,13 +25073,6 @@ test_xmlAddRef(void) { } -#define gen_nb_xmlAttributeTablePtr 1 -static xmlAttributeTablePtr gen_xmlAttributeTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { - return(NULL); -} -static void des_xmlAttributeTablePtr(int no ATTRIBUTE_UNUSED, xmlAttributeTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { -} - static int test_xmlCopyAttributeTable(void) { int test_ret = 0; @@ -25188,13 +25154,6 @@ test_xmlCopyElementContent(void) { } -#define gen_nb_xmlElementTablePtr 1 -static xmlElementTablePtr gen_xmlElementTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { - return(NULL); -} -static void des_xmlElementTablePtr(int no ATTRIBUTE_UNUSED, xmlElementTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { -} - static int test_xmlCopyElementTable(void) { int test_ret = 0; @@ -25215,13 +25174,6 @@ test_xmlCopyEnumeration(void) { } -#define gen_nb_xmlNotationTablePtr 1 -static xmlNotationTablePtr gen_xmlNotationTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { - return(NULL); -} -static void des_xmlNotationTablePtr(int no ATTRIBUTE_UNUSED, xmlNotationTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { -} - static int test_xmlCopyNotationTable(void) { int test_ret = 0; @@ -25288,6 +25240,13 @@ test_xmlDumpAttributeDecl(void) { } +#define gen_nb_xmlAttributeTablePtr 1 +static xmlAttributeTablePtr gen_xmlAttributeTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlAttributeTablePtr(int no ATTRIBUTE_UNUSED, xmlAttributeTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + static int test_xmlDumpAttributeTable(void) { int test_ret = 0; @@ -25373,6 +25332,13 @@ test_xmlDumpElementDecl(void) { } +#define gen_nb_xmlElementTablePtr 1 +static xmlElementTablePtr gen_xmlElementTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlElementTablePtr(int no ATTRIBUTE_UNUSED, xmlElementTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + static int test_xmlDumpElementTable(void) { int test_ret = 0; @@ -25458,6 +25424,13 @@ test_xmlDumpNotationDecl(void) { } +#define gen_nb_xmlNotationTablePtr 1 +static xmlNotationTablePtr gen_xmlNotationTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlNotationTablePtr(int no ATTRIBUTE_UNUSED, xmlNotationTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} + static int test_xmlDumpNotationTable(void) { int test_ret = 0; @@ -29389,16 +29362,6 @@ test_xmlIO(void) { printf("Module xmlIO: %d errors\n", test_ret); return(test_ret); } -#ifdef LIBXML_AUTOMATA_ENABLED - -#define gen_nb_xmlAutomataPtr 1 -static xmlAutomataPtr gen_xmlAutomataPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { - return(NULL); -} -static void des_xmlAutomataPtr(int no ATTRIBUTE_UNUSED, xmlAutomataPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { -} -#endif - static int test_xmlAutomataCompile(void) { @@ -29419,6 +29382,16 @@ test_xmlAutomataGetInitState(void) { return(test_ret); } +#ifdef LIBXML_AUTOMATA_ENABLED + +#define gen_nb_xmlAutomataPtr 1 +static xmlAutomataPtr gen_xmlAutomataPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlAutomataPtr(int no ATTRIBUTE_UNUSED, xmlAutomataPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + static int test_xmlAutomataIsDeterminist(void) { @@ -29453,16 +29426,6 @@ test_xmlAutomataIsDeterminist(void) { return(test_ret); } -#ifdef LIBXML_AUTOMATA_ENABLED - -#define gen_nb_xmlAutomataStatePtr 1 -static xmlAutomataStatePtr gen_xmlAutomataStatePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { - return(NULL); -} -static void des_xmlAutomataStatePtr(int no ATTRIBUTE_UNUSED, xmlAutomataStatePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { -} -#endif - static int test_xmlAutomataNewAllTrans(void) { @@ -29631,6 +29594,16 @@ test_xmlAutomataNewTransition2(void) { return(test_ret); } +#ifdef LIBXML_AUTOMATA_ENABLED + +#define gen_nb_xmlAutomataStatePtr 1 +static xmlAutomataStatePtr gen_xmlAutomataStatePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlAutomataStatePtr(int no ATTRIBUTE_UNUSED, xmlAutomataStatePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + static int test_xmlAutomataSetFinalState(void) { @@ -33908,16 +33881,6 @@ test_xmlRegExecPushString2(void) { return(test_ret); } -#ifdef LIBXML_REGEXP_ENABLED - -#define gen_nb_xmlRegexpPtr 1 -static xmlRegexpPtr gen_xmlRegexpPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { - return(NULL); -} -static void des_xmlRegexpPtr(int no ATTRIBUTE_UNUSED, xmlRegexpPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { -} -#endif - static int test_xmlRegNewExecCtxt(void) { @@ -33938,6 +33901,16 @@ test_xmlRegexpCompile(void) { return(test_ret); } +#ifdef LIBXML_REGEXP_ENABLED + +#define gen_nb_xmlRegexpPtr 1 +static xmlRegexpPtr gen_xmlRegexpPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { + return(NULL); +} +static void des_xmlRegexpPtr(int no ATTRIBUTE_UNUSED, xmlRegexpPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { +} +#endif + static int test_xmlRegexpExec(void) { @@ -34662,16 +34635,6 @@ test_xmlSchemaParse(void) { return(test_ret); } -#ifdef LIBXML_SCHEMAS_ENABLED - -#define gen_nb_xmlSAXHandlerPtr_ptr 1 -static xmlSAXHandlerPtr * gen_xmlSAXHandlerPtr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { - return(NULL); -} -static void des_xmlSAXHandlerPtr_ptr(int no ATTRIBUTE_UNUSED, xmlSAXHandlerPtr * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) { -} -#endif - static int test_xmlSchemaSAXPlug(void) { @@ -46700,7 +46663,7 @@ test_xmlXPathContextSetCache(void) { int n_ctxt; int active; /* enables/disables (creates/frees) the cache */ int n_active; - int value; /* a value with semantics dependant on @options */ + int value; /* a value with semantics dependent on @options */ int n_value; int options; /* options (currently only the value 0 is used) */ int n_options; @@ -120,7 +120,7 @@ static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document, } /* - * We should see no error in remaning cases + * We should see no error in remaining cases */ else if ((lastError != 0) || (res == NULL)) { fprintf(stderr, @@ -324,7 +324,7 @@ static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) { } /* - * We should see no error in remaning cases + * We should see no error in remaining cases */ else if ((lastError != 0) || (len != 2)) { fprintf(stderr, diff --git a/testlimits.c b/testlimits.c index 68c94dbc..059116a6 100644 --- a/testlimits.c +++ b/testlimits.c @@ -1403,7 +1403,7 @@ static limitDesc limitDescriptions[] = { typedef struct testDesc testDesc; typedef testDesc *testDescPtr; struct testDesc { - const char *desc; /* descripton of the test */ + const char *desc; /* description of the test */ functest func; /* function implementing the test */ }; diff --git a/testrecurse.c b/testrecurse.c index f95ae1c3..0cbe25a6 100644 --- a/testrecurse.c +++ b/testrecurse.c @@ -44,7 +44,7 @@ typedef int (*functest) (const char *filename, const char *result, typedef struct testDesc testDesc; typedef testDesc *testDescPtr; struct testDesc { - const char *desc; /* descripton of the test */ + const char *desc; /* description of the test */ functest func; /* function implementing the test */ const char *in; /* glob to path for input files */ const char *out; /* output directory */ @@ -632,8 +632,8 @@ static char *resultFilename(const char *filename, const char *out, suffixbuff[0]='_'; #endif - snprintf(res, 499, "%s%s%s", out, base, suffixbuff); - res[499] = 0; + if (snprintf(res, 499, "%s%s%s", out, base, suffixbuff) >= 499) + res[499] = 0; return(strdup(res)); } @@ -82,7 +82,7 @@ static int libxml_is_threaded = 1; /* * TODO: this module still uses malloc/free and not xmlMalloc/xmlFree - * to avoid some crazyness since xmlMalloc/xmlFree may actually + * to avoid some craziness since xmlMalloc/xmlFree may actually * be hosted on allocated blocks needing them for the allocation ... */ @@ -239,7 +239,7 @@ xmlMutexLock(xmlMutexPtr tok) if (acquire_sem(tok->sem) != B_NO_ERROR) { #ifdef DEBUG_THREADS xmlGenericError(xmlGenericErrorContext, - "xmlMutexLock():BeOS:Couldn't aquire semaphore\n"); + "xmlMutexLock():BeOS:Couldn't acquire semaphore\n"); #endif } tok->tid = find_thread(NULL); @@ -885,8 +885,6 @@ xmlInitThreads(void) } } #endif /* XML_PTHREAD_WEAK */ -#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL)) - InitializeCriticalSection(&cleanup_helpers_cs); #endif } @@ -958,6 +956,9 @@ xmlOnceInit(void) if (!run_once.done) { if (InterlockedIncrement(&run_once.control) == 1) { #if !defined(HAVE_COMPILER_TLS) +#if !defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL) + InitializeCriticalSection(&cleanup_helpers_cs); +#endif globalkey = TlsAlloc(); #endif mainthread = GetCurrentThreadId(); @@ -59,7 +59,7 @@ typedef unsigned __int64 uint64_t; #define SORT_SWAP(x,y) {SORT_TYPE __SORT_SWAP_t = (x); (x) = (y); (y) = __SORT_SWAP_t;} -/* Common, type-agnosting functions and constants that we don't want to declare twice. */ +/* Common, type-agnostic functions and constants that we don't want to declare twice. */ #ifndef SORT_COMMON_H #define SORT_COMMON_H @@ -74,7 +74,7 @@ typedef unsigned __int64 uint64_t; static int compute_minrun(const uint64_t); #ifndef CLZ -#ifdef __GNUC__ +#if defined(__GNUC__) && ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ > 3)) #define CLZ __builtin_clzll #else @@ -404,7 +404,8 @@ static void TIM_SORT_MERGE(SORT_TYPE *dst, const TIM_SORT_RUN_T *stack, const in j = curr + A; k = curr + A + B; - while (k-- > curr) { + while (k > curr) { + k--; if ((i > 0) && (j > curr)) { if (SORT_CMP(dst[j - 1], storage[i - 1]) > 0) { dst[k] = dst[--j]; @@ -59,7 +59,7 @@ int __xmlRegisterCallbacks = 0; ************************************************************************/ static xmlNsPtr -xmlNewReconciliedNs(xmlDocPtr doc, xmlNodePtr tree, xmlNsPtr ns); +xmlNewReconciledNs(xmlDocPtr doc, xmlNodePtr tree, xmlNsPtr ns); static xmlChar* xmlGetPropNodeValueInternal(const xmlAttr *prop); @@ -70,7 +70,7 @@ static xmlChar* xmlGetPropNodeValueInternal(const xmlAttr *prop); ************************************************************************/ /** * xmlTreeErrMemory: - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -83,7 +83,7 @@ xmlTreeErrMemory(const char *extra) /** * xmlTreeErr: * @code: the error number - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -181,7 +181,7 @@ xmlGetEntityFromDtd(const xmlDtd *dtd, const xmlChar *name) { * @dtd: A pointer to the DTD to search * @name: The entity name * - * Do an entity lookup in the DTD pararmeter entity hash table and + * Do an entity lookup in the DTD parameter entity hash table and * return the corresponding entity, if found. * * Returns A pointer to the entity structure or NULL if not found. @@ -1064,7 +1064,7 @@ xmlCreateIntSubset(xmlDocPtr doc, const xmlChar *name, * @str: a string * * Copy a string using a "dict" dictionary in the current scope, - * if availabe. + * if available. */ #define DICT_COPY(str, cpy) \ if (str) { \ @@ -1081,7 +1081,7 @@ xmlCreateIntSubset(xmlDocPtr doc, const xmlChar *name, * @str: a string * * Copy a string using a "dict" dictionary in the current scope, - * if availabe. + * if available. */ #define DICT_CONST_COPY(str, cpy) \ if (str) { \ @@ -1276,12 +1276,14 @@ xmlStringLenGetNodeList(const xmlDoc *doc, const xmlChar *value, int len) { xmlNodePtr ret = NULL, last = NULL; xmlNodePtr node; xmlChar *val; - const xmlChar *cur = value, *end = cur + len; + const xmlChar *cur, *end; const xmlChar *q; xmlEntityPtr ent; xmlBufPtr buf; if (value == NULL) return(NULL); + cur = value; + end = cur + len; buf = xmlBufCreateSize(0); if (buf == NULL) return(NULL); @@ -2950,7 +2952,7 @@ xmlNewChild(xmlNodePtr parent, xmlNsPtr ns, * Add a new attribute after @prev using @cur as base attribute. * When inserting before @cur, @prev is passed as @cur->prev. * When inserting after @cur, @prev is passed as @cur. - * If an existing attribute is found it is detroyed prior to adding @prop. + * If an existing attribute is found it is destroyed prior to adding @prop. * * Returns the attribute being inserted or NULL in case of error. */ @@ -3664,7 +3666,9 @@ xmlNextElementSibling(xmlNodePtr node) { void xmlFreeNodeList(xmlNodePtr cur) { xmlNodePtr next; + xmlNodePtr parent; xmlDictPtr dict = NULL; + size_t depth = 0; if (cur == NULL) return; if (cur->type == XML_NAMESPACE_DECL) { @@ -3680,16 +3684,21 @@ xmlFreeNodeList(xmlNodePtr cur) { return; } if (cur->doc != NULL) dict = cur->doc->dict; - while (cur != NULL) { + while (1) { + while ((cur->children != NULL) && + (cur->type != XML_DTD_NODE) && + (cur->type != XML_ENTITY_REF_NODE)) { + cur = cur->children; + depth += 1; + } + next = cur->next; + parent = cur->parent; if (cur->type != XML_DTD_NODE) { if ((__xmlRegisterCallbacks) && (xmlDeregisterNodeDefaultValue)) xmlDeregisterNodeDefaultValue(cur); - if ((cur->children != NULL) && - (cur->type != XML_ENTITY_REF_NODE)) - xmlFreeNodeList(cur->children); if (((cur->type == XML_ELEMENT_NODE) || (cur->type == XML_XINCLUDE_START) || (cur->type == XML_XINCLUDE_END)) && @@ -3699,6 +3708,11 @@ xmlFreeNodeList(xmlNodePtr cur) { (cur->type != XML_XINCLUDE_START) && (cur->type != XML_XINCLUDE_END) && (cur->type != XML_ENTITY_REF_NODE) && + (cur->type != XML_DOCUMENT_NODE) && +#ifdef LIBXML_DOCB_ENABLED + (cur->type != XML_DOCB_DOCUMENT_NODE) && +#endif + (cur->type != XML_HTML_DOCUMENT_NODE) && (cur->content != (xmlChar *) &(cur->properties))) { DICT_FREE(cur->content) } @@ -3720,7 +3734,16 @@ xmlFreeNodeList(xmlNodePtr cur) { DICT_FREE(cur->name) xmlFree(cur); } - cur = next; + + if (next != NULL) { + cur = next; + } else { + if ((depth == 0) || (parent == NULL)) + break; + depth -= 1; + cur = parent; + cur->children = NULL; + } } } @@ -4050,7 +4073,7 @@ xmlCopyPropInternal(xmlDocPtr doc, xmlNodePtr target, xmlAttrPtr cur) { } else { /* * we have to find something appropriate here since - * we cant be sure, that the namespce we found is identified + * we can't be sure, that the namespace we found is identified * by the prefix */ if (xmlStrEqual(ns->href, cur->ns->href)) { @@ -4058,10 +4081,10 @@ xmlCopyPropInternal(xmlDocPtr doc, xmlNodePtr target, xmlAttrPtr cur) { ret->ns = ns; } else { /* - * we are in trouble: we need a new reconcilied namespace. + * we are in trouble: we need a new reconciled namespace. * This is expensive */ - ret->ns = xmlNewReconciliedNs(target->doc, target, cur->ns); + ret->ns = xmlNewReconciledNs(target->doc, target, cur->ns); } } @@ -4154,8 +4177,8 @@ xmlCopyPropList(xmlNodePtr target, xmlAttrPtr cur) { * say RPM:Copyright without changing the namespace pointer to * something else can produce stale links. One way to do it is * to keep a reference counter but this doesn't work as soon - * as one move the element or the subtree out of the scope of - * the existing namespace. The actual solution seems to add + * as one moves the element or the subtree out of the scope of + * the existing namespace. The actual solution seems to be to add * a copy of the namespace at the top of the copied tree if * not available in the subtree. * Hence two functions, the public front-end call the inner ones @@ -4280,7 +4303,7 @@ xmlStaticCopyNode(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent, while (root->parent != NULL) root = root->parent; ret->ns = xmlNewNs(root, ns->href, ns->prefix); } else { - ret->ns = xmlNewReconciliedNs(doc, ret, node->ns); + ret->ns = xmlNewReconciledNs(doc, ret, node->ns); } } else { /* @@ -4719,7 +4742,7 @@ xmlGetNodePath(const xmlNode *node) /* * Thumbler index computation - * TODO: the ocurence test seems bogus for namespaced names + * TODO: the occurrence test seems bogus for namespaced names */ tmp = cur->prev; while (tmp != NULL) { @@ -6214,7 +6237,7 @@ xmlSearchNsByHref(xmlDocPtr doc, xmlNodePtr node, const xmlChar * href) } /** - * xmlNewReconciliedNs: + * xmlNewReconciledNs: * @doc: the document * @tree: a node expected to hold the new namespace * @ns: the original namespace @@ -6227,7 +6250,7 @@ xmlSearchNsByHref(xmlDocPtr doc, xmlNodePtr node, const xmlChar * href) * Returns the (new) namespace definition or NULL in case of error */ static xmlNsPtr -xmlNewReconciliedNs(xmlDocPtr doc, xmlNodePtr tree, xmlNsPtr ns) { +xmlNewReconciledNs(xmlDocPtr doc, xmlNodePtr tree, xmlNsPtr ns) { xmlNsPtr def; xmlChar prefix[50]; int counter = 1; @@ -6235,14 +6258,14 @@ xmlNewReconciliedNs(xmlDocPtr doc, xmlNodePtr tree, xmlNsPtr ns) { if ((tree == NULL) || (tree->type != XML_ELEMENT_NODE)) { #ifdef DEBUG_TREE xmlGenericError(xmlGenericErrorContext, - "xmlNewReconciliedNs : tree == NULL\n"); + "xmlNewReconciledNs : tree == NULL\n"); #endif return(NULL); } if ((ns == NULL) || (ns->type != XML_NAMESPACE_DECL)) { #ifdef DEBUG_TREE xmlGenericError(xmlGenericErrorContext, - "xmlNewReconciliedNs : ns == NULL\n"); + "xmlNewReconciledNs : ns == NULL\n"); #endif return(NULL); } @@ -6344,7 +6367,7 @@ xmlReconciliateNs(xmlDocPtr doc, xmlNodePtr tree) { /* * OK we need to recreate a new namespace definition */ - n = xmlNewReconciliedNs(doc, tree, node->ns); + n = xmlNewReconciledNs(doc, tree, node->ns); if (n != NULL) { /* :-( what if else ??? */ /* * check if we need to grow the cache buffers. @@ -6373,7 +6396,7 @@ xmlReconciliateNs(xmlDocPtr doc, xmlNodePtr tree) { } } /* - * now check for namespace hold by attributes on the node. + * now check for namespace held by attributes on the node. */ if (node->type == XML_ELEMENT_NODE) { attr = node->properties; @@ -6408,7 +6431,7 @@ xmlReconciliateNs(xmlDocPtr doc, xmlNodePtr tree) { /* * OK we need to recreate a new namespace definition */ - n = xmlNewReconciliedNs(doc, tree, attr->ns); + n = xmlNewReconciledNs(doc, tree, attr->ns); if (n != NULL) { /* :-( what if else ??? */ /* * check if we need to grow the cache buffers. @@ -7227,7 +7250,7 @@ xmlBufferShrink(xmlBufferPtr buf, unsigned int len) { ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL))) { /* * we just move the content pointer, but also make sure - * the perceived buffer size has shrinked accordingly + * the perceived buffer size has shrunk accordingly */ buf->content += len; buf->size -= len; @@ -7401,12 +7424,17 @@ xmlBufferResize(xmlBufferPtr buf, unsigned int size) if (size < buf->size) return 1; + if (size > UINT_MAX - 10) { + xmlTreeErrMemory("growing buffer"); + return 0; + } + /* figure out new size */ switch (buf->alloc){ case XML_BUFFER_ALLOC_IO: case XML_BUFFER_ALLOC_DOUBLEIT: /*take care of empty case*/ - newSize = (buf->size ? buf->size*2 : size + 10); + newSize = (buf->size ? buf->size : size + 10); while (size > newSize) { if (newSize > UINT_MAX / 2) { xmlTreeErrMemory("growing buffer"); @@ -7422,7 +7450,7 @@ xmlBufferResize(xmlBufferPtr buf, unsigned int size) if (buf->use < BASE_BUFFER_SIZE) newSize = size; else { - newSize = buf->size * 2; + newSize = buf->size; while (size > newSize) { if (newSize > UINT_MAX / 2) { xmlTreeErrMemory("growing buffer"); @@ -7579,7 +7607,7 @@ xmlBufferAddHead(xmlBufferPtr buf, const xmlChar *str, int len) { if (start_buf > (unsigned int) len) { /* - * We can add it in the space previously shrinked + * We can add it in the space previously shrunk */ buf->content -= len; memmove(&buf->content[0], str, len); @@ -7961,7 +7989,7 @@ xmlDOMWrapNsMapAddItem(xmlNsMapPtr *nsmap, int position, * Creates or reuses an xmlNs struct on doc->oldNs with * the given prefix and namespace name. * -* Returns the aquired ns struct or NULL in case of an API +* Returns the acquired ns struct or NULL in case of an API * or internal error. */ static xmlNsPtr @@ -8575,7 +8603,7 @@ ns_next_prefix: } /* -* xmlDOMWrapNSNormAquireNormalizedNs: +* xmlDOMWrapNSNormAcquireNormalizedNs: * @doc: the doc * @elem: the element-node to declare namespaces on * @ns: the ns-struct to use for the search @@ -8594,7 +8622,7 @@ ns_next_prefix: * Returns 0 if succeeded, -1 otherwise and on API/internal errors. */ static int -xmlDOMWrapNSNormAquireNormalizedNs(xmlDocPtr doc, +xmlDOMWrapNSNormAcquireNormalizedNs(xmlDocPtr doc, xmlNodePtr elem, xmlNsPtr ns, xmlNsPtr *retNs, @@ -8893,9 +8921,9 @@ next_ns_decl: } } /* - * Aquire a normalized ns-decl and add it to the map. + * Acquire a normalized ns-decl and add it to the map. */ - if (xmlDOMWrapNSNormAquireNormalizedNs(doc, curElem, + if (xmlDOMWrapNSNormAcquireNormalizedNs(doc, curElem, cur->ns, &ns, &nsMap, depth, ancestorsOnly, @@ -9033,7 +9061,7 @@ xmlDOMWrapAdoptBranch(xmlDOMWrapCtxtPtr ctxt, nsMap = (xmlNsMapPtr) ctxt->namespaceMap; /* * Disable search for ns-decls in the parent-axis of the - * desination element, if: + * destination element, if: * 1) there's no destination parent * 2) custom ns-reference handling is used */ @@ -9178,9 +9206,9 @@ xmlDOMWrapAdoptBranch(xmlDOMWrapCtxtPtr ctxt, cur->ns = ns; } else { /* - * Aquire a normalized ns-decl and add it to the map. + * Acquire a normalized ns-decl and add it to the map. */ - if (xmlDOMWrapNSNormAquireNormalizedNs(destDoc, + if (xmlDOMWrapNSNormAcquireNormalizedNs(destDoc, /* ns-decls on curElem or on destDoc->oldNs */ destParent ? curElem : NULL, cur->ns, &ns, @@ -9234,7 +9262,7 @@ ns_end: goto leave_node; case XML_ENTITY_REF_NODE: /* - * Remove reference to the entitity-node. + * Remove reference to the entity-node. */ cur->content = NULL; cur->children = NULL; @@ -9468,7 +9496,7 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt, } memset(clone, 0, sizeof(xmlNode)); /* - * Set hierachical links. + * Set hierarchical links. */ if (resultClone != NULL) { clone->parent = parentClone; @@ -9492,7 +9520,7 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt, } memset(clone, 0, sizeof(xmlAttr)); /* - * Set hierachical links. + * Set hierarchical links. * TODO: Change this to add to the end of attributes. */ if (resultClone != NULL) { @@ -9720,9 +9748,9 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt, clone->ns = ns; } else { /* - * Aquire a normalized ns-decl and add it to the map. + * Acquire a normalized ns-decl and add it to the map. */ - if (xmlDOMWrapNSNormAquireNormalizedNs(destDoc, + if (xmlDOMWrapNSNormAcquireNormalizedNs(destDoc, /* ns-decls on curElem or on destDoc->oldNs */ destParent ? curElem : NULL, cur->ns, &ns, @@ -9959,7 +9987,7 @@ xmlDOMWrapAdoptAttr(xmlDOMWrapCtxtPtr ctxt, break; case XML_ENTITY_REF_NODE: /* - * Remove reference to the entitity-node. + * Remove reference to the entity-node. */ cur->content = NULL; cur->children = NULL; @@ -10097,7 +10125,7 @@ xmlDOMWrapAdoptNode(xmlDOMWrapCtxtPtr ctxt, break; case XML_ENTITY_REF_NODE: /* - * Remove reference to the entitity-node. + * Remove reference to the entity-node. */ node->content = NULL; node->children = NULL; @@ -10,7 +10,7 @@ * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF - * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. * ************************************************************************* @@ -2610,7 +2610,7 @@ TRIO_ARGS5((self, wstring, flags, width, precision), * * The accuracy [...] is implementation defined, as is the accuracy * of the conversion between floating-point internal representations - * and string representations performed by the libray routine in + * and string representations performed by the library routine in * <stdio.h>" */ /* FIXME: handle all instances of constant long-double number (L) @@ -5899,7 +5899,7 @@ TRIO_ARGS4((self, target, flags, width), } if (trio_equal(doubleString, NAN_UPPER)) { - /* NaN must not have a preceeding + nor - */ + /* NaN must not have a preceding + nor - */ if (flags & FLAGS_LONGDOUBLE) { *((trio_long_double_t *)target) = trio_nan(); @@ -10,7 +10,7 @@ * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF - * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. * ************************************************************************* @@ -10,7 +10,7 @@ * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF - * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. * ************************************************************************/ @@ -10,7 +10,7 @@ * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF - * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. * ************************************************************************ @@ -92,7 +92,7 @@ /* * In ANSI/IEEE 754-1985 64-bits double format numbers have the - * following properties (amoungst others) + * following properties (amongst others) * * o FLT_RADIX == 2: binary encoding * o DBL_MAX_EXP == 1024: 11 bits exponent, where one bit is used @@ -123,8 +123,8 @@ static TRIO_CONST char rcsid[] = "@(#)$Id$"; * integer, becomes 0x0706050403020100 (we could have used a 64-bit * integer value instead of a double, but not all platforms supports * that type). The value is automatically encoded with the correct - * endianess by the compiler, which means that we can support any - * kind of endianess. The individual bytes are then used as an index + * endianness by the compiler, which means that we can support any + * kind of endianness. The individual bytes are then used as an index * for the IEEE 754 bit-patterns and masks. */ #define TRIO_DOUBLE_INDEX(x) (((unsigned char *)&internalEndianMagic)[7-(x)]) @@ -10,7 +10,7 @@ * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF - * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. * ************************************************************************/ @@ -10,7 +10,7 @@ * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF - * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. * ************************************************************************ @@ -10,7 +10,7 @@ * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF - * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. * ************************************************************************/ @@ -10,7 +10,7 @@ * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF - * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. * ************************************************************************/ @@ -22,7 +22,7 @@ * MAX_URI_LENGTH: * * The definition of the URI regexp in the above RFC has no size limit - * In practice they are usually relativey short except for the + * In practice they are usually relatively short except for the * data URI scheme as defined in RFC 2397. Even for data URI the usual * maximum size before hitting random practical limits is around 64 KB * and 4KB is usually a maximum admitted limit for proper operations. @@ -325,16 +325,18 @@ static int xmlParse3986Port(xmlURIPtr uri, const char **str) { const char *cur = *str; - unsigned port = 0; /* unsigned for defined overflow behavior */ + int port = 0; if (ISA_DIGIT(cur)) { while (ISA_DIGIT(cur)) { port = port * 10 + (*cur - '0'); + if (port > 99999999) + port = 99999999; cur++; } if (uri != NULL) - uri->port = port & INT_MAX; /* port value modulo INT_MAX+1 */ + uri->port = port; *str = cur; return(0); } @@ -346,7 +348,7 @@ xmlParse3986Port(xmlURIPtr uri, const char **str) * @uri: pointer to an URI structure * @str: the string to analyze * - * Parse an user informations part and fills in the appropriate fields + * Parse an user information part and fills in the appropriate fields * of the @uri structure * * userinfo = *( unreserved / pct-encoded / sub-delims / ":" ) @@ -436,7 +438,7 @@ xmlParse3986Host(xmlURIPtr uri, const char **str) host = cur; /* - * IPv6 and future adressing scheme are enclosed between brackets + * IPv6 and future addressing scheme are enclosed between brackets */ if (*cur == '[') { cur++; @@ -1456,7 +1458,7 @@ xmlNormalizeURIPath(char *path) { goto done_cd; (out++)[0] = (cur++)[0]; } - /* nomalize // */ + /* normalize // */ while ((cur[0] == '/') && (cur[1] == '/')) cur++; @@ -2150,7 +2152,7 @@ done: * http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif * * - * Note: if the URI reference is really wierd or complicated, it may be + * Note: if the URI reference is really weird or complicated, it may be * worthwhile to first convert it into a "nice" one by calling * xmlBuildURI (using 'base') before calling this routine, * since this routine (for reasonable efficiency) assumes URI has @@ -2461,7 +2463,7 @@ path_processing: /* allocate space for leading '/' + path + string terminator */ uri->path = xmlMallocAtomic(len + 2); if (uri->path == NULL) { - xmlFreeURI(uri); /* Guard agains 'out of memory' */ + xmlFreeURI(uri); /* Guard against 'out of memory' */ return(NULL); } /* Put in leading '/' plus path */ @@ -2476,7 +2478,7 @@ path_processing: } p = uri->path; } - /* Now change all occurences of '\' to '/' */ + /* Now change all occurrences of '\' to '/' */ while (*p != '\0') { if (*p == '\\') *p = '/'; @@ -2526,7 +2528,7 @@ xmlPathToURI(const xmlChar *path) return(NULL); #if defined(_WIN32) && !defined(__CYGWIN__) /* xmlCanonicPath can return an URI on Windows (is that the intended behaviour?) - If 'cal' is a valid URI allready then we are done here, as continuing would make + If 'cal' is a valid URI already then we are done here, as continuing would make it invalid. */ if ((uri = xmlParseURI((const char *) cal)) != NULL) { xmlFreeURI(uri); @@ -50,7 +50,7 @@ xmlValidateAttributeValueInternal(xmlDocPtr doc, xmlAttributeType type, /** * xmlVErrMemory: * @ctxt: an XML validation parser context - * @extra: extra informations + * @extra: extra information * * Handle an out of memory error */ @@ -89,7 +89,7 @@ xmlVErrMemory(xmlValidCtxtPtr ctxt, const char *extra) * xmlErrValid: * @ctxt: an XML validation parser context * @error: the error number - * @extra: extra informations + * @extra: extra information * * Handle a validation error */ @@ -131,11 +131,11 @@ xmlErrValid(xmlValidCtxtPtr ctxt, xmlParserErrors error, * @ctxt: an XML validation parser context * @node: the node raising the error * @error: the error number - * @str1: extra informations - * @str2: extra informations - * @str3: extra informations + * @str1: extra information + * @str2: extra information + * @str3: extra information * - * Handle a validation error, provide contextual informations + * Handle a validation error, provide contextual information */ static void LIBXML_ATTR_FORMAT(4,0) xmlErrValidNode(xmlValidCtxtPtr ctxt, @@ -174,11 +174,11 @@ xmlErrValidNode(xmlValidCtxtPtr ctxt, * @ctxt: an XML validation parser context * @node: the node raising the error * @error: the error number - * @str1: extra informations - * @int2: extra informations - * @str3: extra informations + * @str1: extra information + * @int2: extra information + * @str3: extra information * - * Handle a validation error, provide contextual informations + * Handle a validation error, provide contextual information */ static void LIBXML_ATTR_FORMAT(4,0) xmlErrValidNodeNr(xmlValidCtxtPtr ctxt, @@ -1099,14 +1099,22 @@ xmlCopyElementContent(xmlElementContentPtr cur) { */ void xmlFreeDocElementContent(xmlDocPtr doc, xmlElementContentPtr cur) { - xmlElementContentPtr next; xmlDictPtr dict = NULL; + size_t depth = 0; + if (cur == NULL) + return; if (doc != NULL) dict = doc->dict; - while (cur != NULL) { - next = cur->c2; + while (1) { + xmlElementContentPtr parent; + + while ((cur->c1 != NULL) || (cur->c2 != NULL)) { + cur = (cur->c1 != NULL) ? cur->c1 : cur->c2; + depth += 1; + } + switch (cur->type) { case XML_ELEMENT_CONTENT_PCDATA: case XML_ELEMENT_CONTENT_ELEMENT: @@ -1119,7 +1127,6 @@ xmlFreeDocElementContent(xmlDocPtr doc, xmlElementContentPtr cur) { NULL); return; } - if (cur->c1 != NULL) xmlFreeDocElementContent(doc, cur->c1); if (dict) { if ((cur->name != NULL) && (!xmlDictOwns(dict, cur->name))) xmlFree((xmlChar *) cur->name); @@ -1129,8 +1136,23 @@ xmlFreeDocElementContent(xmlDocPtr doc, xmlElementContentPtr cur) { if (cur->name != NULL) xmlFree((xmlChar *) cur->name); if (cur->prefix != NULL) xmlFree((xmlChar *) cur->prefix); } + parent = cur->parent; + if ((depth == 0) || (parent == NULL)) { + xmlFree(cur); + break; + } + if (cur == parent->c1) + parent->c1 = NULL; + else + parent->c2 = NULL; xmlFree(cur); - cur = next; + + if (parent->c2 != NULL) { + cur = parent->c2; + } else { + depth -= 1; + cur = parent; + } } } @@ -1148,84 +1170,105 @@ xmlFreeElementContent(xmlElementContentPtr cur) { #ifdef LIBXML_OUTPUT_ENABLED /** - * xmlDumpElementContent: + * xmlDumpElementOccur: * @buf: An XML buffer - * @content: An element table - * @glob: 1 if one must print the englobing parenthesis, 0 otherwise + * @cur: An element table * - * This will dump the content of the element table as an XML DTD definition + * Dump the occurrence operator of an element. */ static void -xmlDumpElementContent(xmlBufferPtr buf, xmlElementContentPtr content, int glob) { - if (content == NULL) return; - - if (glob) xmlBufferWriteChar(buf, "("); - switch (content->type) { - case XML_ELEMENT_CONTENT_PCDATA: - xmlBufferWriteChar(buf, "#PCDATA"); - break; - case XML_ELEMENT_CONTENT_ELEMENT: - if (content->prefix != NULL) { - xmlBufferWriteCHAR(buf, content->prefix); - xmlBufferWriteChar(buf, ":"); - } - xmlBufferWriteCHAR(buf, content->name); - break; - case XML_ELEMENT_CONTENT_SEQ: - if ((content->c1 != NULL) && - ((content->c1->type == XML_ELEMENT_CONTENT_OR) || - (content->c1->type == XML_ELEMENT_CONTENT_SEQ))) - xmlDumpElementContent(buf, content->c1, 1); - else - xmlDumpElementContent(buf, content->c1, 0); - xmlBufferWriteChar(buf, " , "); - if ((content->c2 != NULL) && - ((content->c2->type == XML_ELEMENT_CONTENT_OR) || - ((content->c2->type == XML_ELEMENT_CONTENT_SEQ) && - (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE)))) - xmlDumpElementContent(buf, content->c2, 1); - else - xmlDumpElementContent(buf, content->c2, 0); - break; - case XML_ELEMENT_CONTENT_OR: - if ((content->c1 != NULL) && - ((content->c1->type == XML_ELEMENT_CONTENT_OR) || - (content->c1->type == XML_ELEMENT_CONTENT_SEQ))) - xmlDumpElementContent(buf, content->c1, 1); - else - xmlDumpElementContent(buf, content->c1, 0); - xmlBufferWriteChar(buf, " | "); - if ((content->c2 != NULL) && - ((content->c2->type == XML_ELEMENT_CONTENT_SEQ) || - ((content->c2->type == XML_ELEMENT_CONTENT_OR) && - (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE)))) - xmlDumpElementContent(buf, content->c2, 1); - else - xmlDumpElementContent(buf, content->c2, 0); - break; - default: - xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR, - "Internal: ELEMENT content corrupted invalid type\n", - NULL); - } - if (glob) - xmlBufferWriteChar(buf, ")"); - switch (content->ocur) { +xmlDumpElementOccur(xmlBufferPtr buf, xmlElementContentPtr cur) { + switch (cur->ocur) { case XML_ELEMENT_CONTENT_ONCE: - break; + break; case XML_ELEMENT_CONTENT_OPT: - xmlBufferWriteChar(buf, "?"); - break; + xmlBufferWriteChar(buf, "?"); + break; case XML_ELEMENT_CONTENT_MULT: - xmlBufferWriteChar(buf, "*"); - break; + xmlBufferWriteChar(buf, "*"); + break; case XML_ELEMENT_CONTENT_PLUS: - xmlBufferWriteChar(buf, "+"); - break; + xmlBufferWriteChar(buf, "+"); + break; } } /** + * xmlDumpElementContent: + * @buf: An XML buffer + * @content: An element table + * + * This will dump the content of the element table as an XML DTD definition + */ +static void +xmlDumpElementContent(xmlBufferPtr buf, xmlElementContentPtr content) { + xmlElementContentPtr cur; + + if (content == NULL) return; + + xmlBufferWriteChar(buf, "("); + cur = content; + + do { + if (cur == NULL) return; + + switch (cur->type) { + case XML_ELEMENT_CONTENT_PCDATA: + xmlBufferWriteChar(buf, "#PCDATA"); + break; + case XML_ELEMENT_CONTENT_ELEMENT: + if (cur->prefix != NULL) { + xmlBufferWriteCHAR(buf, cur->prefix); + xmlBufferWriteChar(buf, ":"); + } + xmlBufferWriteCHAR(buf, cur->name); + break; + case XML_ELEMENT_CONTENT_SEQ: + case XML_ELEMENT_CONTENT_OR: + if ((cur != content) && + (cur->parent != NULL) && + ((cur->type != cur->parent->type) || + (cur->ocur != XML_ELEMENT_CONTENT_ONCE))) + xmlBufferWriteChar(buf, "("); + cur = cur->c1; + continue; + default: + xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR, + "Internal: ELEMENT cur corrupted invalid type\n", + NULL); + } + + while (cur != content) { + xmlElementContentPtr parent = cur->parent; + + if (parent == NULL) return; + + if (((cur->type == XML_ELEMENT_CONTENT_OR) || + (cur->type == XML_ELEMENT_CONTENT_SEQ)) && + ((cur->type != parent->type) || + (cur->ocur != XML_ELEMENT_CONTENT_ONCE))) + xmlBufferWriteChar(buf, ")"); + xmlDumpElementOccur(buf, cur); + + if (cur == parent->c1) { + if (parent->type == XML_ELEMENT_CONTENT_SEQ) + xmlBufferWriteChar(buf, " , "); + else if (parent->type == XML_ELEMENT_CONTENT_OR) + xmlBufferWriteChar(buf, " | "); + + cur = parent->c2; + break; + } + + cur = parent; + } + } while (cur != content); + + xmlBufferWriteChar(buf, ")"); + xmlDumpElementOccur(buf, content); +} + +/** * xmlSprintfElementContent: * @buf: an output buffer * @content: An element table @@ -1703,7 +1746,7 @@ xmlDumpElementDecl(xmlBufferPtr buf, xmlElementPtr elem) { } xmlBufferWriteCHAR(buf, elem->name); xmlBufferWriteChar(buf, " "); - xmlDumpElementContent(buf, elem->content, 1); + xmlDumpElementContent(buf, elem->content); xmlBufferWriteChar(buf, ">\n"); break; case XML_ELEMENT_TYPE_ELEMENT: @@ -1714,7 +1757,7 @@ xmlDumpElementDecl(xmlBufferPtr buf, xmlElementPtr elem) { } xmlBufferWriteCHAR(buf, elem->name); xmlBufferWriteChar(buf, " "); - xmlDumpElementContent(buf, elem->content, 1); + xmlDumpElementContent(buf, elem->content); xmlBufferWriteChar(buf, ">\n"); break; default: @@ -2640,7 +2683,7 @@ xmlAddID(xmlValidCtxtPtr ctxt, xmlDocPtr doc, const xmlChar *value, ret->doc = doc; if ((ctxt != NULL) && (ctxt->vstateNr != 0)) { /* - * Operating in streaming mode, attr is gonna disapear + * Operating in streaming mode, attr is gonna disappear */ if (doc->dict != NULL) ret->name = xmlDictLookup(doc->dict, attr->name, -1); @@ -2968,7 +3011,7 @@ xmlAddRef(xmlValidCtxtPtr ctxt, xmlDocPtr doc, const xmlChar *value, ret->value = xmlStrdup(value); if ((ctxt != NULL) && (ctxt->vstateNr != 0)) { /* - * Operating in streaming mode, attr is gonna disapear + * Operating in streaming mode, attr is gonna disappear */ ret->name = xmlStrdup(attr->name); ret->attr = NULL; @@ -5391,7 +5434,7 @@ fail: } else if (ret == -2) { /* * An entities reference appeared at this level. - * Buid a minimal representation of this node content + * Build a minimal representation of this node content * sufficient to run the validation process on it */ DEBUG_VALID_MSG("Found an entity reference, linearizing"); @@ -5876,28 +5919,27 @@ xmlValidatePushCData(xmlValidCtxtPtr ctxt, const xmlChar *data, int len) { break; case XML_ELEMENT_TYPE_MIXED: break; - case XML_ELEMENT_TYPE_ELEMENT: - if (len > 0) { - int i; - - for (i = 0;i < len;i++) { - if (!IS_BLANK_CH(data[i])) { - xmlErrValidNode(ctxt, state->node, - XML_DTD_CONTENT_MODEL, - "Element %s content does not follow the DTD, Text not allowed\n", - state->node->name, NULL, NULL); - ret = 0; - goto done; - } - } - /* - * TODO: - * VC: Standalone Document Declaration - * element types with element content, if white space - * occurs directly within any instance of those types. - */ - } - break; + case XML_ELEMENT_TYPE_ELEMENT: { + int i; + + for (i = 0;i < len;i++) { + if (!IS_BLANK_CH(data[i])) { + xmlErrValidNode(ctxt, state->node, + XML_DTD_CONTENT_MODEL, + "Element %s content does not follow the DTD, Text not allowed\n", + state->node->name, NULL, NULL); + ret = 0; + goto done; + } + } + /* + * TODO: + * VC: Standalone Document Declaration + * element types with element content, if white space + * occurs directly within any instance of those types. + */ + break; + } } } } diff --git a/win32/Makefile.bcb b/win32/Makefile.bcb index 41002da5..d326fb99 100644 --- a/win32/Makefile.bcb +++ b/win32/Makefile.bcb @@ -225,9 +225,7 @@ UTILS = $(BINDIR)\xmllint.exe\ $(BINDIR)\testlimits.exe -!if "$(WITH_THREADS)" == "yes" || "$(WITH_THREADS)" == "ctls" || "$(WITH_THREADS)" == "native" -UTILS = $(UTILS) $(BINDIR)\testThreadsWin32.exe -!else if "$(WITH_THREADS)" == "posix" +!if "$(WITH_THREADS)" != "no" UTILS = $(UTILS) $(BINDIR)\testThreads.exe !endif diff --git a/win32/Makefile.mingw b/win32/Makefile.mingw index 3d4cb888..9dfa4abe 100644 --- a/win32/Makefile.mingw +++ b/win32/Makefile.mingw @@ -220,16 +220,7 @@ UTILS = $(BINDIR)/xmllint.exe\ $(BINDIR)/testapi.exe\ $(BINDIR)/testlimits.exe -ifeq ($(WITH_THREADS),yes) -UTILS += $(BINDIR)/testThreadsWin32.exe -endif -ifeq ($(WITH_THREADS),ctls) -UTILS += $(BINDIR)/testThreadsWin32.exe -endif -ifeq ($(WITH_THREADS),native) -UTILS += $(BINDIR)/testThreadsWin32.exe -endif -ifeq ($(WITH_THREADS),posix) +ifneq ($(WITH_THREADS),no) UTILS += $(BINDIR)/testThreads.exe endif diff --git a/win32/Makefile.msvc b/win32/Makefile.msvc index ee4250af..725b0ca1 100644 --- a/win32/Makefile.msvc +++ b/win32/Makefile.msvc @@ -106,6 +106,11 @@ CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 LDFLAGS = $(LDFLAGS) !endif +# append CFLAGS etc. passed on command line +CPPFLAGS = $(CPPFLAGS) $(EXTRA_CPPFLAGS) +CFLAGS = $(CFLAGS) $(EXTRA_CFLAGS) +LDFLAGS = $(LDFLAGS) $(EXTRA_LDFLAGS) + # Libxml object files. XML_OBJS = $(XML_INTDIR)\buf.obj\ $(XML_INTDIR)\c14n.obj\ @@ -274,9 +279,7 @@ UTILS = $(BINDIR)\xmllint.exe\ $(BINDIR)\testlimits.exe\ $(BINDIR)\testrecurse.exe -!if "$(WITH_THREADS)" == "yes" || "$(WITH_THREADS)" == "ctls" || "$(WITH_THREADS)" == "native" -UTILS = $(UTILS) $(BINDIR)\testThreadsWin32.exe -!else if "$(WITH_THREADS)" == "posix" +!if "$(WITH_THREADS)" != "no" UTILS = $(UTILS) $(BINDIR)\testThreads.exe !endif diff --git a/win32/Readme.txt b/win32/Readme.txt index 6b3edddb..d02070e2 100644 --- a/win32/Readme.txt +++ b/win32/Readme.txt @@ -23,7 +23,7 @@ CONTENTS 2.1 GNU C/C++, Mingw Edition 2.2 Borland C++ Builder 2.2.1 Building with iconv support - 2.2.2 Compatability problems with MSVC (and probably CYGWIN) + 2.2.2 Compatibility problems with MSVC (and probably CYGWIN) 2.2.3 Other caveats @@ -188,7 +188,7 @@ define EILSEQ=2 in Makefile.bcb. The value "2" is the value for ENOFILE (file not found). This should not have any disastrous side effects beyond possibly displaying a misleading error message in certain situations. -2.2.2 Compatability problems with MSVC (and probably CYGWIN) +2.2.2 Compatibility problems with MSVC (and probably CYGWIN) A libxml2 DLL generated by BCB is callable from MSVC programs, but there is a minor problem with the names of the symbols exported from the library. The diff --git a/win32/VC10/README.vc10 b/win32/VC10/README.vc10 index 4805bdc8..d33430b5 100644 --- a/win32/VC10/README.vc10 +++ b/win32/VC10/README.vc10 @@ -3,13 +3,13 @@ README file for VC10 project files for libxml2 ----------------------------------------------
to clarify: This is not the readme file for the whole libxml2 project.
-Rather, it's a readme for the VC10 project files, attached to the libxml2 proejct.
+Rather, it's a readme for the VC10 project files, attached to the libxml2 project.
Quick Start
-----------
1) To use, load the libxml2.sln solution file into visual studio
-2) check and correct paths for dependent "iconv" project which most certaily
+2) check and correct paths for dependent "iconv" project which most certainly
are wrong on your environment.
3) Compile all projects
diff --git a/win32/VC10/config.h b/win32/VC10/config.h index c1e16f14..324b74ff 100644 --- a/win32/VC10/config.h +++ b/win32/VC10/config.h @@ -37,7 +37,7 @@ #if defined(_MSC_VER) || defined(__BORLANDC__) /* MS C-runtime has functions which can be used in order to determine if a given floating-point variable contains NaN, (+-)INF. These are - preferred, because floating-point technology is considered propriatary + preferred, because floating-point technology is considered proprietary by MS and we can assume that their functions know more about their oddities than we do. */ #include <float.h> diff --git a/win32/configure.js b/win32/configure.js index dbf238c7..e2ab31da 100644 --- a/win32/configure.js +++ b/win32/configure.js @@ -165,14 +165,14 @@ function usage() txt += " installed (" + buildLibPrefix + ")\n"; txt += " sodir: Directory where shared libraries should be installed\n"; txt += " (" + buildSoPrefix + ")\n"; - txt += " include: Additional search path for the compiler, particularily\n"; + txt += " include: Additional search path for the compiler, particularly\n"; txt += " where iconv headers can be found (" + buildInclude + ")\n"; - txt += " lib: Additional search path for the linker, particularily\n"; + txt += " lib: Additional search path for the linker, particularly\n"; txt += " where iconv library can be found (" + buildLib + ")\n"; WScript.Echo(txt); } -/* Discovers the version we are working with by reading the apropriate +/* Discovers the version we are working with by reading the appropriate configuration file. Despite its name, this also writes the configuration file included by our makefile. */ function discoverVersion() @@ -210,16 +210,16 @@ function discoverVersion() s = new String(ln); if (s.search(/^LIBXML_MAJOR_VERSION=/) != -1) { vf.WriteLine(s); - verMajor = s.substring(s.indexOf("=") + 1, s.length) + verMajor = s.substring(s.indexOf("=") + 1, s.length); } else if(s.search(/^LIBXML_MINOR_VERSION=/) != -1) { vf.WriteLine(s); - verMinor = s.substring(s.indexOf("=") + 1, s.length) + verMinor = s.substring(s.indexOf("=") + 1, s.length); } else if(s.search(/^LIBXML_MICRO_VERSION=/) != -1) { vf.WriteLine(s); - verMicro = s.substring(s.indexOf("=") + 1, s.length) + verMicro = s.substring(s.indexOf("=") + 1, s.length); } else if(s.search(/^LIBXML_MICRO_VERSION_SUFFIX=/) != -1) { vf.WriteLine(s); - verMicroSuffix = s.substring(s.indexOf("=") + 1, s.length) + verMicroSuffix = s.substring(s.indexOf("=") + 1, s.length); } } cf.Close(); @@ -280,7 +280,7 @@ function discoverVersion() vf.WriteLine("DYNRUNTIME=" + (dynruntime? "1" : "0")); } vf.Close(); - versionFile = "rcVersion.h" + versionFile = "rcVersion.h"; vf = fso.CreateTextFile(versionFile, true); vf.WriteLine("/*"); vf.WriteLine(" " + versionFile); @@ -291,7 +291,7 @@ function discoverVersion() vf.WriteLine("#define LIBXML_MINOR_VERSION " + verMinor); vf.WriteLine("#define LIBXML_MICRO_VERSION " + verMicro); vf.WriteLine("#define LIBXML_DOTTED_VERSION " + "\"" + verMajor + "." + verMinor + "." + verMicro + "\""); - vf.Close() + vf.Close(); } /* Configures libxml. This one will generate xmlversion.h from xmlversion.h.in @@ -430,7 +430,7 @@ function genReadme(bname, ver, file) f.WriteLine("platform."); f.WriteBlankLines(1); f.WriteLine(" The files in this package do not require any special installation"); - f.WriteLine("steps. Extract the contents of the archive whereever you wish and"); + f.WriteLine("steps. Extract the contents of the archive wherever you wish and"); f.WriteLine("make sure that your tools which use " + bname + " can find it."); f.WriteBlankLines(1); f.WriteLine(" For example, if you want to run the supplied utilities from the command"); @@ -544,8 +544,6 @@ for (i = 0; (i < WScript.Arguments.length) && (error == 0); i++) { buildStatic = strToBool(arg.substring(opt.length + 1, arg.length)); else if (opt == "prefix") buildPrefix = arg.substring(opt.length + 1, arg.length); - else if (opt == "incdir") - buildIncPrefix = arg.substring(opt.length + 1, arg.length); else if (opt == "bindir") buildBinPrefix = arg.substring(opt.length + 1, arg.length); else if (opt == "libdir") diff --git a/win32/libxml2.def.src b/win32/libxml2.def.src index 1bdbed93..1e771e85 100644 --- a/win32/libxml2.def.src +++ b/win32/libxml2.def.src @@ -945,6 +945,7 @@ xmlHashAddEntry3 xmlHashCopy xmlHashCreate xmlHashCreateDict +xmlHashDefaultDeallocator xmlHashFree xmlHashLookup xmlHashLookup2 diff --git a/win32/wince/wincecompat.c b/win32/wince/wincecompat.c index bd49c575..16782245 100644 --- a/win32/wince/wincecompat.c +++ b/win32/wince/wincecompat.c @@ -1,5 +1,5 @@ /* - * wincecompat.c : wince compatiblity module + * wincecompat.c : wince compatibility module * * See Copyright for the status of this software. * diff --git a/win32/wince/wincecompat.h b/win32/wince/wincecompat.h index aa0f3dce..51541795 100644 --- a/win32/wince/wincecompat.h +++ b/win32/wince/wincecompat.h @@ -1,5 +1,5 @@ /* - * wincecompat.h : wince compatiblity header file + * wincecompat.h : wince compatibility header file * * See Copyright for the status of this software. * @@ -40,11 +40,11 @@ char *getcwd( char *buffer, unsigned int size); char *strerror(int errnum); /* - Macro'ed inexistant funtion names + Macro'ed nonexistent function names */ #define snprintf _snprintf #define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a) #define perror(_t) MessageBox(NULL, _T("_t"), _T("Error/Warning"), MB_OK) -#endif
\ No newline at end of file +#endif @@ -449,6 +449,10 @@ xmlXIncludeParseFile(xmlXIncludeCtxtPtr ctxt, const char *URL) { xmlCtxtUseOptions(pctxt, ctxt->parseFlags | XML_PARSE_DTDLOAD); + /* Don't read from stdin. */ + if ((URL != NULL) && (strcmp(URL, "-") == 0)) + URL = "./-"; + inputStream = xmlLoadExternalEntity(URL, NULL, pctxt); if (inputStream == NULL) { xmlFreeParserCtxt(pctxt); @@ -667,7 +671,7 @@ xmlXIncludeRecurseDoc(xmlXIncludeCtxtPtr ctxt, xmlDocPtr doc, int i; /* - * Avoid recursion in already substitued resources + * Avoid recursion in already substituted resources for (i = 0;i < ctxt->urlNr;i++) { if (xmlStrEqual(doc->URL, ctxt->urlTab[i])) return; @@ -752,7 +756,7 @@ xmlXIncludeRecurseDoc(xmlXIncludeCtxtPtr ctxt, xmlDocPtr doc, * @txt: the new text node * @url: the associated URL * - * Add a new txtument to the list + * Add a new text node to the list */ static void xmlXIncludeAddTxt(xmlXIncludeCtxtPtr ctxt, xmlNodePtr txt, const xmlURL url) { @@ -1067,7 +1071,7 @@ xmlXIncludeCopyRange(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target, case XML_ELEMENT_DECL: case XML_ATTRIBUTE_DECL: case XML_ENTITY_NODE: - /* Do not copy DTD informations */ + /* Do not copy DTD information */ break; case XML_ENTITY_DECL: /* handle crossing entities -> stack needed */ @@ -1258,7 +1262,7 @@ struct _xmlXIncludeMergeData { * @doc: the including doc * @nr: the entity name * - * Inplements the merge of one entity + * Implements the merge of one entity */ static void xmlXIncludeMergeEntity(void *payload, void *vdata, @@ -1335,7 +1339,7 @@ error: * @doc: the including doc * @from: the included doc * - * Inplements the entity merge + * Implements the entity merge * * Returns 0 if merge succeeded, -1 if some processing failed */ @@ -1604,6 +1608,7 @@ loaded: XML_XINCLUDE_XPTR_RESULT, "XPointer is not a range: #%s\n", fragment); + xmlXPathFreeObject(xptr); xmlXPathFreeContext(xptrctxt); xmlFree(URL); xmlFree(fragment); @@ -1611,6 +1616,7 @@ loaded: case XPATH_NODESET: if ((xptr->nodesetval == NULL) || (xptr->nodesetval->nodeNr <= 0)) { + xmlXPathFreeObject(xptr); xmlXPathFreeContext(xptrctxt); xmlFree(URL); xmlFree(fragment); @@ -1806,6 +1812,10 @@ xmlXIncludeLoadTxt(xmlXIncludeCtxtPtr ctxt, const xmlChar *url, int nr) { xmlParserInputPtr inputStream; int xinclude_multibyte_fallback_used = 0; + /* Don't read from stdin. */ + if (xmlStrcmp(url, BAD_CAST "-") == 0) + url = BAD_CAST "./-"; + /* * Check the URL and remove any fragment identifier */ @@ -1914,7 +1924,7 @@ xinclude_multibyte_fallback: cur = xmlStringCurrentChar(NULL, &content[i], &l); if (!IS_CHAR(cur)) { - /* Handle splitted multibyte char at buffer boundary */ + /* Handle split multibyte char at buffer boundary */ if (((len - i) < 4) && (!xinclude_multibyte_fallback_used)) { xinclude_multibyte_fallback_used = 1; xmlBufShrink(buf->buffer, i); @@ -1923,6 +1933,7 @@ xinclude_multibyte_fallback: xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref, XML_XINCLUDE_INVALID_CHAR, "%s contains invalid char\n", URL); + xmlFreeParserCtxt(pctxt); xmlFreeParserInputBuffer(buf); xmlFree(URL); return(-1); @@ -1963,6 +1974,7 @@ static int xmlXIncludeLoadFallback(xmlXIncludeCtxtPtr ctxt, xmlNodePtr fallback, int nr) { xmlXIncludeCtxtPtr newctxt; int ret = 0; + int oldNbErrors = ctxt->nbErrors; if ((fallback == NULL) || (fallback->type == XML_NAMESPACE_DECL) || (ctxt == NULL)) @@ -1979,7 +1991,7 @@ xmlXIncludeLoadFallback(xmlXIncludeCtxtPtr ctxt, xmlNodePtr fallback, int nr) { newctxt->base = xmlStrdup(ctxt->base); /* Inherit the base from the existing context */ xmlXIncludeSetFlags(newctxt, ctxt->parseFlags); ret = xmlXIncludeDoProcess(newctxt, ctxt->doc, fallback->children); - if (ctxt->nbErrors > 0) + if (ctxt->nbErrors > oldNbErrors) ret = -1; else if (ret > 0) ret = 0; /* xmlXIncludeDoProcess can return +ve number */ @@ -2133,7 +2145,7 @@ xmlXIncludeLoadNode(xmlXIncludeCtxtPtr ctxt, int nr) { xmlNodePtr children; /* - * Time to try a fallback if availble + * Time to try a fallback if available */ #ifdef DEBUG_XINCLUDE xmlGenericError(xmlGenericErrorContext, "error looking for fallback\n"); @@ -2178,7 +2190,7 @@ xmlXIncludeLoadNode(xmlXIncludeCtxtPtr ctxt, int nr) { * @ctxt: an XInclude context * @nr: the node number * - * Inplement the infoset replacement for the given node + * Implement the infoset replacement for the given node * * Returns 0 if substitution succeeded, -1 if some processing failed */ @@ -2602,7 +2614,7 @@ xmlXIncludeProcessTree(xmlNodePtr tree) { * @node: a node in an XML document * * Implement the XInclude substitution for the given subtree reusing - * the informations and data coming from the given context. + * the information and data coming from the given context. * * Returns 0 if no substitution were done, -1 if some processing failed * or the number of substitutions done. diff --git a/xml2-config.1 b/xml2-config.1 index 8cf9858b..4dec38f9 100644 --- a/xml2-config.1 +++ b/xml2-config.1 @@ -16,6 +16,7 @@ Print the currently installed version of \fIGNOME-XML\fP on the standard output. .TP 8 .B \-\-libs Print the linker flags that are necessary to link a \fIGNOME-XML\fP program. +Add \-\-dynamic after --libs to print only shared library linking information. .TP 8 .B \-\-cflags Print the compiler flags that are necessary to compile a \fIGNOME-XML\fP program. diff --git a/xml2-config.in b/xml2-config.in index 19574864..5863ffa0 100644 --- a/xml2-config.in +++ b/xml2-config.in @@ -4,6 +4,8 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ includedir=@includedir@ libdir=@libdir@ +cflags= +libs= usage() { @@ -15,6 +17,7 @@ Known values for OPTION are: --prefix=DIR change libxml prefix [default $prefix] --exec-prefix=DIR change libxml exec prefix [default $exec_prefix] --libs print library linking information + add --dynamic to print only shared libraries --cflags print pre-processor and compiler flags --modules module support enabled --help display this help and exit @@ -28,9 +31,6 @@ if test $# -eq 0; then usage 1 fi -cflags=false -libs=false - while test $# -gt 0; do case "$1" in -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; @@ -67,7 +67,7 @@ while test $# -gt 0; do ;; --cflags) - echo @XML_INCLUDEDIR@ @XML_CFLAGS@ + cflags="@XML_INCLUDEDIR@ @XML_CFLAGS@" ;; --libtool-libs) @@ -82,25 +82,29 @@ while test $# -gt 0; do ;; --libs) - if [ "`uname`" = "Linux" ] - then - if [ "@XML_LIBDIR@" = "-L/usr/lib" -o "@XML_LIBDIR@" = "-L/usr/lib64" ] - then - echo @XML_LIBS@ @MODULE_PLATFORM_LIBS@ - else - echo @XML_LIBDIR@ @XML_LIBS@ @MODULE_PLATFORM_LIBS@ - fi - else - echo @XML_LIBDIR@ @XML_LIBS@ @MODULE_PLATFORM_LIBS@ @WIN32_EXTRA_LIBADD@ - fi - ;; + if [ "$2" = "--dynamic" ]; then + shift + libs="@XML_LIBS@" + else + libs="@XML_LIBS@ @XML_PRIVATE_LIBS@ @MODULE_PLATFORM_LIBS@" + fi + + if [ "@XML_LIBDIR@" != "-L/usr/lib" -a "@XML_LIBDIR@" != "-L/usr/lib64" ]; then + libs="@XML_LIBDIR@ $libs" + fi + + libs="$libs @WIN32_EXTRA_LIBADD@" + ;; *) - usage - exit 1 + usage 1 ;; esac shift done +if test -n "$cflags$libs"; then + echo $cflags $libs +fi + exit 0 diff --git a/xml2Conf.sh.in b/xml2Conf.sh.in index 08cb2334..31228c0b 100644 --- a/xml2Conf.sh.in +++ b/xml2Conf.sh.in @@ -2,7 +2,7 @@ # Configuration file for using the XML library in GNOME applications # XML2_LIBDIR="@XML_LIBDIR@" -XML2_LIBS="@XML_LIBS@" +XML2_LIBS="@XML_LIBS@ @XML_PRIVATE_LIBS@" XML2_INCLUDEDIR="@XML_INCLUDEDIR@" MODULE_VERSION="xml2-@VERSION@" @@ -185,9 +185,9 @@ static const char *IOerr[] = { "already connected", /* EISCONN */ "connection refused", /* ECONNREFUSED */ "unreachable network", /* ENETUNREACH */ - "adddress in use", /* EADDRINUSE */ + "address in use", /* EADDRINUSE */ "already in use", /* EALREADY */ - "unknown address familly", /* EAFNOSUPPORT */ + "unknown address family", /* EAFNOSUPPORT */ }; #if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__) @@ -224,7 +224,7 @@ __xmlIOWin32UTF8ToWChar(const char *u8String) /** * xmlIOErrMemory: - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -238,7 +238,7 @@ xmlIOErrMemory(const char *extra) * __xmlIOErr: * @code: the error number * @ - * @extra: extra informations + * @extra: extra information * * Handle an I/O error */ @@ -416,7 +416,7 @@ __xmlIOErr(int domain, int code, const char *extra) /** * xmlIOErr: * @code: the error number - * @extra: extra informations + * @extra: extra information * * Handle an I/O error */ @@ -429,7 +429,7 @@ xmlIOErr(int code, const char *extra) /** * __xmlLoaderErr: * @ctx: the parser context - * @extra: extra informations + * @extra: extra information * * Handle a resource access error */ @@ -560,6 +560,33 @@ xmlCleanupOutputCallbacks(void) xmlOutputCallbackNr = 0; xmlOutputCallbackInitialized = 0; } + +/** + * xmlPopOutputCallbacks: + * + * Remove the top output callbacks from the output stack. This includes the + * compiled-in I/O. + * + * Returns the number of output callback registered or -1 in case of error. + */ +int +xmlPopOutputCallbacks(void) +{ + if (!xmlOutputCallbackInitialized) + return(-1); + + if (xmlOutputCallbackNr <= 0) + return(-1); + + xmlOutputCallbackNr--; + xmlOutputCallbackTable[xmlOutputCallbackNr].matchcallback = NULL; + xmlOutputCallbackTable[xmlOutputCallbackNr].opencallback = NULL; + xmlOutputCallbackTable[xmlOutputCallbackNr].writecallback = NULL; + xmlOutputCallbackTable[xmlOutputCallbackNr].closecallback = NULL; + + return(xmlOutputCallbackNr); +} + #endif /* LIBXML_OUTPUT_ENABLED */ /************************************************************************ @@ -2383,6 +2410,7 @@ xmlAllocOutputBuffer(xmlCharEncodingHandlerPtr encoder) { if (encoder != NULL) { ret->conv = xmlBufCreateSize(4000); if (ret->conv == NULL) { + xmlBufFree(ret->buffer); xmlFree(ret); return(NULL); } @@ -2435,6 +2463,7 @@ xmlAllocOutputBufferInternal(xmlCharEncodingHandlerPtr encoder) { if (encoder != NULL) { ret->conv = xmlBufCreateSize(4000); if (ret->conv == NULL) { + xmlBufFree(ret->buffer); xmlFree(ret); return(NULL); } @@ -3335,7 +3364,7 @@ xmlOutputBufferWrite(xmlOutputBufferPtr out, int len, const char *buf) { int nbchars = 0; /* number of chars to output to I/O */ int ret; /* return from function call */ int written = 0; /* number of char written to I/O so far */ - int chunk; /* number of byte curreent processed from buf */ + int chunk; /* number of byte current processed from buf */ if ((out == NULL) || (out->error)) return(-1); if (len < 0) return(0); @@ -3372,20 +3401,20 @@ xmlOutputBufferWrite(xmlOutputBufferPtr out, int len, const char *buf) { out->error = XML_IO_ENCODER; return(-1); } - nbchars = xmlBufUse(out->conv); + nbchars = ret >= 0 ? ret : 0; } else { ret = xmlBufAdd(out->buffer, (const xmlChar *) buf, chunk); if (ret != 0) return(-1); - nbchars = xmlBufUse(out->buffer); + nbchars = chunk; } buf += chunk; len -= chunk; - if ((nbchars < MINLEN) && (len <= 0)) - goto done; - if (out->writecallback) { + if ((nbchars < MINLEN) && (len <= 0)) + goto done; + /* * second write the stuff to the I/O channel */ @@ -3405,7 +3434,10 @@ xmlOutputBufferWrite(xmlOutputBufferPtr out, int len, const char *buf) { out->error = XML_IO_WRITE; return(ret); } - out->written += ret; + if (out->written > INT_MAX - ret) + out->written = INT_MAX; + else + out->written += ret; } written += nbchars; } while (len > 0); @@ -3485,7 +3517,7 @@ xmlEscapeContent(unsigned char* out, int *outlen, * @escaping: an optional escaping function (or NULL) * * Write the content of the string in the output I/O buffer - * This routine escapes the caracters and then handle the I18N + * This routine escapes the characters and then handle the I18N * transcoding from internal UTF-8 * The buffer is lossless, i.e. will store in case of partial * or delayed writes. @@ -3561,21 +3593,21 @@ xmlOutputBufferWriteEscape(xmlOutputBufferPtr out, const xmlChar *str, out->error = XML_IO_ENCODER; return(-1); } - nbchars = xmlBufUse(out->conv); + nbchars = ret >= 0 ? ret : 0; } else { ret = escaping(xmlBufEnd(out->buffer), &chunk, str, &cons); if ((ret < 0) || (chunk == 0)) /* chunk==0 => nothing done */ return(-1); xmlBufAddLen(out->buffer, chunk); - nbchars = xmlBufUse(out->buffer); + nbchars = chunk; } str += cons; len -= cons; - if ((nbchars < MINLEN) && (len <= 0)) - goto done; - if (out->writecallback) { + if ((nbchars < MINLEN) && (len <= 0)) + goto done; + /* * second write the stuff to the I/O channel */ @@ -3595,7 +3627,10 @@ xmlOutputBufferWriteEscape(xmlOutputBufferPtr out, const xmlChar *str, out->error = XML_IO_WRITE; return(ret); } - out->written += ret; + if (out->written > INT_MAX - ret) + out->written = INT_MAX; + else + out->written += ret; } else if (xmlBufAvail(out->buffer) < MINLEN) { xmlBufGrow(out->buffer, MINLEN); } @@ -3689,7 +3724,10 @@ xmlOutputBufferFlush(xmlOutputBufferPtr out) { out->error = XML_IO_FLUSH; return(ret); } - out->written += ret; + if (out->written > INT_MAX - ret) + out->written = INT_MAX; + else + out->written += ret; #ifdef DEBUG_INPUT xmlGenericError(xmlGenericErrorContext, @@ -3937,7 +3975,7 @@ xmlResolveResourceFromCatalog(const char *URL, const char *ID, * @ID: the System ID for the entity to load * @ctxt: the context in which the entity is called or NULL * - * By default we don't load external entitites, yet. + * By default we don't load external entities, yet. * * Returns a new allocated xmlParserInputPtr, or NULL. */ diff --git a/xmlcatalog.c b/xmlcatalog.c index c02b97f6..3f0e1b9c 100644 --- a/xmlcatalog.c +++ b/xmlcatalog.c @@ -325,7 +325,7 @@ Usage : %s [options] catalogfile entities...\n\ \t used with --add or --del, it saves the catalog changes\n\ \t and with --sgml it automatically updates the super catalog\n\ \t--no-super-update: do not update the SGML super catalog\n\ -\t-v --verbose : provide debug informations\n"); +\t-v --verbose : provide debug information\n"); } int main(int argc, char **argv) { int i; @@ -180,17 +180,17 @@ static int exc_canonical = 0; #ifdef LIBXML_READER_ENABLED static int stream = 0; static int walker = 0; +#ifdef LIBXML_PATTERN_ENABLED +static const char *pattern = NULL; +static xmlPatternPtr patternc = NULL; +static xmlStreamCtxtPtr patstream = NULL; +#endif #endif /* LIBXML_READER_ENABLED */ static int chkregister = 0; static int nbregister = 0; #ifdef LIBXML_SAX1_ENABLED static int sax1 = 0; #endif /* LIBXML_SAX1_ENABLED */ -#ifdef LIBXML_PATTERN_ENABLED -static const char *pattern = NULL; -static xmlPatternPtr patternc = NULL; -static xmlStreamCtxtPtr patstream = NULL; -#endif #ifdef LIBXML_XPATH_ENABLED static const char *xpathquery = NULL; #endif @@ -519,7 +519,7 @@ endTimer(char *format, ...) #endif /************************************************************************ * * - * HTML ouput * + * HTML output * * * ************************************************************************/ static char buffer[50000]; @@ -540,7 +540,7 @@ xmlHTMLEncodeSend(void) { * xmlHTMLPrintFileInfo: * @input: an xmlParserInputPtr input * - * Displays the associated file and line informations for the current input + * Displays the associated file and line information for the current input */ static void @@ -1652,10 +1652,7 @@ testSAX(const char *filename) { xmlSchemaValidCtxtPtr vctxt; vctxt = xmlSchemaNewValidCtxt(wxschemas); - xmlSchemaSetValidErrors(vctxt, - (xmlSchemaValidityErrorFunc) fprintf, - (xmlSchemaValidityWarningFunc) fprintf, - stderr); + xmlSchemaSetValidErrors(vctxt, xmlGenericError, xmlGenericError, NULL); xmlSchemaValidateSetFilename(vctxt, filename); ret = xmlSchemaValidateStream(vctxt, buf, 0, handler, @@ -2086,7 +2083,7 @@ static void doXPathDump(xmlXPathObjectPtr cur) { } for (i = 0;i < cur->nodesetval->nodeNr;i++) { node = cur->nodesetval->nodeTab[i]; - xmlNodeDumpOutput(buf, node->doc, node, 0, 0, NULL); + xmlNodeDumpOutput(buf, NULL, node, 0, 0, NULL); xmlOutputBufferWrite(buf, 1, "\n"); } xmlOutputBufferClose(buf); @@ -2185,13 +2182,17 @@ static void parseAndPrintFile(char *filename, xmlParserCtxtPtr rectxt) { else if ((html) && (push)) { FILE *f; + if ((filename[0] == '-') && (filename[1] == 0)) { + f = stdin; + } else { #if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__) - f = fopen(filename, "rb"); + f = fopen(filename, "rb"); #elif defined(__OS400__) - f = fopen(filename, "rb"); + f = fopen(filename, "rb"); #else - f = fopen(filename, "r"); + f = fopen(filename, "r"); #endif + } if (f != NULL) { int res; char chars[4096]; @@ -2760,9 +2761,9 @@ static void parseAndPrintFile(char *filename, xmlParserCtxtPtr rectxt) { "Couldn't allocate validation context\n"); exit(-1); } - cvp->userData = (void *) stderr; - cvp->error = (xmlValidityErrorFunc) fprintf; - cvp->warning = (xmlValidityWarningFunc) fprintf; + cvp->userData = NULL; + cvp->error = xmlGenericError; + cvp->warning = xmlGenericError; if ((timing) && (!repeat)) { startTimer(); @@ -2796,9 +2797,9 @@ static void parseAndPrintFile(char *filename, xmlParserCtxtPtr rectxt) { if ((timing) && (!repeat)) { startTimer(); } - cvp->userData = (void *) stderr; - cvp->error = (xmlValidityErrorFunc) fprintf; - cvp->warning = (xmlValidityWarningFunc) fprintf; + cvp->userData = NULL; + cvp->error = xmlGenericError; + cvp->warning = xmlGenericError; if (!xmlValidateDocument(cvp, doc)) { xmlGenericError(xmlGenericErrorContext, "Document %s does not validate\n", filename); @@ -2828,10 +2829,8 @@ static void parseAndPrintFile(char *filename, xmlParserCtxtPtr rectxt) { flag |= XML_SCHEMATRON_OUT_QUIET; ctxt = xmlSchematronNewValidCtxt(wxschematron, flag); #if 0 - xmlSchematronSetValidErrors(ctxt, - (xmlSchematronValidityErrorFunc) fprintf, - (xmlSchematronValidityWarningFunc) fprintf, - stderr); + xmlSchematronSetValidErrors(ctxt, xmlGenericError, xmlGenericError, + NULL); #endif ret = xmlSchematronValidateDoc(ctxt, doc); if (ret == 0) { @@ -2860,10 +2859,7 @@ static void parseAndPrintFile(char *filename, xmlParserCtxtPtr rectxt) { } ctxt = xmlRelaxNGNewValidCtxt(relaxngschemas); - xmlRelaxNGSetValidErrors(ctxt, - (xmlRelaxNGValidityErrorFunc) fprintf, - (xmlRelaxNGValidityWarningFunc) fprintf, - stderr); + xmlRelaxNGSetValidErrors(ctxt, xmlGenericError, xmlGenericError, NULL); ret = xmlRelaxNGValidateDoc(ctxt, doc); if (ret == 0) { fprintf(stderr, "%s validates\n", filename); @@ -2888,10 +2884,7 @@ static void parseAndPrintFile(char *filename, xmlParserCtxtPtr rectxt) { } ctxt = xmlSchemaNewValidCtxt(wxschemas); - xmlSchemaSetValidErrors(ctxt, - (xmlSchemaValidityErrorFunc) fprintf, - (xmlSchemaValidityWarningFunc) fprintf, - stderr); + xmlSchemaSetValidErrors(ctxt, xmlGenericError, xmlGenericError, NULL); ret = xmlSchemaValidateDoc(ctxt, doc); if (ret == 0) { fprintf(stderr, "%s validates\n", filename); @@ -3069,10 +3062,10 @@ static void usage(FILE *f, const char *name) { #ifdef LIBXML_READER_ENABLED fprintf(f, "\t--stream : use the streaming interface to process very large files\n"); fprintf(f, "\t--walker : create a reader and walk though the resulting doc\n"); -#endif /* LIBXML_READER_ENABLED */ #ifdef LIBXML_PATTERN_ENABLED fprintf(f, "\t--pattern pattern_value : test the pattern support\n"); #endif +#endif /* LIBXML_READER_ENABLED */ fprintf(f, "\t--chkregister : verify the node registration code\n"); #ifdef LIBXML_SCHEMAS_ENABLED fprintf(f, "\t--relaxng schema : do RelaxNG validation against the schema\n"); @@ -3404,6 +3397,12 @@ main(int argc, char **argv) { (!strcmp(argv[i], "--walker"))) { walker++; noout++; +#ifdef LIBXML_PATTERN_ENABLED + } else if ((!strcmp(argv[i], "-pattern")) || + (!strcmp(argv[i], "--pattern"))) { + i++; + pattern = argv[i]; +#endif } #endif /* LIBXML_READER_ENABLED */ #ifdef LIBXML_SAX1_ENABLED @@ -3454,12 +3453,6 @@ main(int argc, char **argv) { (!strcmp(argv[i], "--path"))) { i++; parsePath(BAD_CAST argv[i]); -#ifdef LIBXML_PATTERN_ENABLED - } else if ((!strcmp(argv[i], "-pattern")) || - (!strcmp(argv[i], "--pattern"))) { - i++; - pattern = argv[i]; -#endif #ifdef LIBXML_XPATH_ENABLED } else if ((!strcmp(argv[i], "-xpath")) || (!strcmp(argv[i], "--xpath"))) { @@ -3552,10 +3545,8 @@ main(int argc, char **argv) { } ctxt = xmlSchematronNewParserCtxt(schematron); #if 0 - xmlSchematronSetParserErrors(ctxt, - (xmlSchematronValidityErrorFunc) fprintf, - (xmlSchematronValidityWarningFunc) fprintf, - stderr); + xmlSchematronSetParserErrors(ctxt, xmlGenericError, xmlGenericError, + NULL); #endif wxschematron = xmlSchematronParse(ctxt); if (wxschematron == NULL) { @@ -3585,10 +3576,8 @@ main(int argc, char **argv) { startTimer(); } ctxt = xmlRelaxNGNewParserCtxt(relaxng); - xmlRelaxNGSetParserErrors(ctxt, - (xmlRelaxNGValidityErrorFunc) fprintf, - (xmlRelaxNGValidityWarningFunc) fprintf, - stderr); + xmlRelaxNGSetParserErrors(ctxt, xmlGenericError, xmlGenericError, + NULL); relaxngschemas = xmlRelaxNGParse(ctxt); if (relaxngschemas == NULL) { xmlGenericError(xmlGenericErrorContext, @@ -3611,10 +3600,7 @@ main(int argc, char **argv) { startTimer(); } ctxt = xmlSchemaNewParserCtxt(schema); - xmlSchemaSetParserErrors(ctxt, - (xmlSchemaValidityErrorFunc) fprintf, - (xmlSchemaValidityWarningFunc) fprintf, - stderr); + xmlSchemaSetParserErrors(ctxt, xmlGenericError, xmlGenericError, NULL); wxschemas = xmlSchemaParse(ctxt); if (wxschemas == NULL) { xmlGenericError(xmlGenericErrorContext, @@ -3628,12 +3614,8 @@ main(int argc, char **argv) { } } #endif /* LIBXML_SCHEMAS_ENABLED */ -#ifdef LIBXML_PATTERN_ENABLED - if ((pattern != NULL) -#ifdef LIBXML_READER_ENABLED - && (walker == 0) -#endif - ) { +#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_PATTERN_ENABLED) + if ((pattern != NULL) && (walker == 0)) { patternc = xmlPatterncompile((const xmlChar *) pattern, NULL, 0, NULL); if (patternc == NULL) { xmlGenericError(xmlGenericErrorContext, @@ -3642,7 +3624,7 @@ main(int argc, char **argv) { pattern = NULL; } } -#endif /* LIBXML_PATTERN_ENABLED */ +#endif /* LIBXML_READER_ENABLED && LIBXML_PATTERN_ENABLED */ for (i = 1; i < argc ; i++) { if ((!strcmp(argv[i], "-encode")) || (!strcmp(argv[i], "--encode"))) { @@ -3696,7 +3678,7 @@ main(int argc, char **argv) { i++; continue; } -#ifdef LIBXML_PATTERN_ENABLED +#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_PATTERN_ENABLED) if ((!strcmp(argv[i], "-pattern")) || (!strcmp(argv[i], "--pattern"))) { i++; @@ -3780,7 +3762,7 @@ main(int argc, char **argv) { xmlSchemaFree(wxschemas); xmlRelaxNGCleanupTypes(); #endif -#ifdef LIBXML_PATTERN_ENABLED +#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_PATTERN_ENABLED) if (patternc != NULL) xmlFreePattern(patternc); #endif diff --git a/xmlmemory.c b/xmlmemory.c index 6f16c4b3..c51f49ae 100644 --- a/xmlmemory.c +++ b/xmlmemory.c @@ -75,7 +75,7 @@ void xmlMallocBreakpoint(void); #endif /* - * Each of the blocks allocated begin with a header containing informations + * Each of the blocks allocated begin with a header containing information */ #define MEMTAG 0x5aa5 diff --git a/xmlmodule.c b/xmlmodule.c index a95ab66a..1867a5e1 100644 --- a/xmlmodule.c +++ b/xmlmodule.c @@ -67,7 +67,7 @@ xmlModuleErrMemory(xmlModulePtr module, const char *extra) * * Opens a module/shared library given its name or path * NOTE: that due to portability issues, behaviour can only be - * guaranteed with @name using ASCII. We canot guarantee that + * guaranteed with @name using ASCII. We cannot guarantee that * an UTF-8 string would work, which is why name is a const char * * and not a const xmlChar * . * TODO: options are not yet implemented. @@ -109,7 +109,7 @@ xmlModuleOpen(const char *name, int options ATTRIBUTE_UNUSED) * * Lookup for a symbol address in the given module * NOTE: that due to portability issues, behaviour can only be - * guaranteed with @name using ASCII. We canot guarantee that + * guaranteed with @name using ASCII. We cannot guarantee that * an UTF-8 string would work, which is why name is a const char * * and not a const xmlChar * . * diff --git a/xmlreader.c b/xmlreader.c index db310c8f..6ae6e922 100644 --- a/xmlreader.c +++ b/xmlreader.c @@ -238,6 +238,8 @@ xmlFreeID(xmlIDPtr id) { if (id->value != NULL) DICT_FREE(id->value) + if (id->name != NULL) + DICT_FREE(id->name) xmlFree(id); } @@ -271,11 +273,65 @@ xmlTextReaderRemoveID(xmlDocPtr doc, xmlAttrPtr attr) { return(-1); } id->name = attr->name; + attr->name = NULL; id->attr = NULL; return(0); } /** + * xmlTextReaderWalkRemoveRef: + * @data: Contents of current link + * @user: Value supplied by the user + * + * Returns 0 to abort the walk or 1 to continue + */ +static int +xmlTextReaderWalkRemoveRef(const void *data, void *user) +{ + xmlRefPtr ref = (xmlRefPtr)data; + xmlAttrPtr attr = (xmlAttrPtr)user; + + if (ref->attr == attr) { /* Matched: remove and terminate walk */ + ref->name = xmlStrdup(attr->name); + ref->attr = NULL; + return 0; + } + return 1; +} + +/** + * xmlTextReaderRemoveRef: + * @doc: the document + * @attr: the attribute + * + * Remove the given attribute from the Ref table maintained internally. + * + * Returns -1 if the lookup failed and 0 otherwise + */ +static int +xmlTextReaderRemoveRef(xmlDocPtr doc, xmlAttrPtr attr) { + xmlListPtr ref_list; + xmlRefTablePtr table; + xmlChar *ID; + + if (doc == NULL) return(-1); + if (attr == NULL) return(-1); + table = (xmlRefTablePtr) doc->refs; + if (table == NULL) + return(-1); + + ID = xmlNodeListGetString(doc, attr->children, 1); + if (ID == NULL) + return(-1); + ref_list = xmlHashLookup(table, ID); + xmlFree(ID); + if(ref_list == NULL) + return (-1); + xmlListWalk(ref_list, xmlTextReaderWalkRemoveRef, attr); + return(0); +} + +/** * xmlTextReaderFreeProp: * @reader: the xmlTextReaderPtr used * @cur: the node @@ -301,6 +357,8 @@ xmlTextReaderFreeProp(xmlTextReaderPtr reader, xmlAttrPtr cur) { (cur->parent->doc->extSubset != NULL))) { if (xmlIsID(cur->parent->doc, cur->parent, cur)) xmlTextReaderRemoveID(cur->parent->doc, cur); + if (xmlIsRef(cur->parent->doc, cur->parent, cur)) + xmlTextReaderRemoveRef(cur->parent->doc, cur); } if (cur->children != NULL) xmlTextReaderFreeNodeList(reader, cur->children); @@ -345,7 +403,9 @@ xmlTextReaderFreePropList(xmlTextReaderPtr reader, xmlAttrPtr cur) { static void xmlTextReaderFreeNodeList(xmlTextReaderPtr reader, xmlNodePtr cur) { xmlNodePtr next; + xmlNodePtr parent; xmlDictPtr dict; + size_t depth = 0; if ((reader != NULL) && (reader->ctxt != NULL)) dict = reader->ctxt->dict; @@ -361,18 +421,21 @@ xmlTextReaderFreeNodeList(xmlTextReaderPtr reader, xmlNodePtr cur) { xmlFreeDoc((xmlDocPtr) cur); return; } - while (cur != NULL) { + while (1) { + while ((cur->type != XML_DTD_NODE) && + (cur->type != XML_ENTITY_REF_NODE) && + (cur->children != NULL) && + (cur->children->parent == cur)) { + cur = cur->children; + depth += 1; + } + next = cur->next; + parent = cur->parent; + /* unroll to speed up freeing the document */ if (cur->type != XML_DTD_NODE) { - if ((cur->children != NULL) && - (cur->type != XML_ENTITY_REF_NODE)) { - if (cur->children->parent == cur) - xmlTextReaderFreeNodeList(reader, cur->children); - cur->children = NULL; - } - if ((__xmlRegisterCallbacks) && (xmlDeregisterNodeDefaultValue)) xmlDeregisterNodeDefaultValue(cur); @@ -411,7 +474,16 @@ xmlTextReaderFreeNodeList(xmlTextReaderPtr reader, xmlNodePtr cur) { xmlFree(cur); } } - cur = next; + + if (next != NULL) { + cur = next; + } else { + if ((depth == 0) || (parent == NULL)) + break; + depth -= 1; + cur = parent; + cur->children = NULL; + } } } @@ -983,7 +1055,6 @@ xmlTextReaderValidatePush(xmlTextReaderPtr reader ATTRIBUTE_UNUSED) { */ node = xmlTextReaderExpand(reader); if (node == NULL) { -printf("Expand failed !\n"); ret = -1; } else { ret = xmlRelaxNGValidateFullElement(reader->rngValidCtxt, @@ -1090,20 +1161,9 @@ static void xmlTextReaderValidateEntity(xmlTextReaderPtr reader) { xmlNodePtr oldnode = reader->node; xmlNodePtr node = reader->node; - xmlParserCtxtPtr ctxt = reader->ctxt; do { if (node->type == XML_ENTITY_REF_NODE) { - /* - * Case where the underlying tree is not availble, lookup the entity - * and walk it. - */ - if ((node->children == NULL) && (ctxt->sax != NULL) && - (ctxt->sax->getEntity != NULL)) { - node->children = (xmlNodePtr) - ctxt->sax->getEntity(ctxt, node->name); - } - if ((node->children != NULL) && (node->children->type == XML_ENTITY_DECL) && (node->children->children != NULL)) { @@ -1112,11 +1172,11 @@ xmlTextReaderValidateEntity(xmlTextReaderPtr reader) { continue; } else { /* - * The error has probably be raised already. + * The error has probably been raised already. */ if (node == oldnode) break; - node = node->next; + goto skip_children; } #ifdef LIBXML_REGEXP_ENABLED } else if (node->type == XML_ELEMENT_NODE) { @@ -1138,6 +1198,7 @@ xmlTextReaderValidateEntity(xmlTextReaderPtr reader) { } else if (node->type == XML_ELEMENT_NODE) { xmlTextReaderValidatePop(reader); } +skip_children: if (node->next != NULL) { node = node->next; continue; @@ -1357,7 +1418,7 @@ get_next_node: /* * If we are not backtracking on ancestors or examined nodes, - * that the parser didn't finished or that we arent at the end + * that the parser didn't finished or that we aren't at the end * of stream, continue processing. */ while ((reader->node != NULL) && (reader->node->next == NULL) && @@ -1547,16 +1608,6 @@ node_found: if ((reader->node != NULL) && (reader->node->type == XML_ENTITY_REF_NODE) && (reader->ctxt != NULL) && (reader->ctxt->replaceEntities == 1)) { - /* - * Case where the underlying tree is not availble, lookup the entity - * and walk it. - */ - if ((reader->node->children == NULL) && (reader->ctxt->sax != NULL) && - (reader->ctxt->sax->getEntity != NULL)) { - reader->node->children = (xmlNodePtr) - reader->ctxt->sax->getEntity(reader->ctxt, reader->node->name); - } - if ((reader->node->children != NULL) && (reader->node->children->type == XML_ENTITY_DECL) && (reader->node->children->children != NULL)) { @@ -1713,6 +1764,8 @@ xmlTextReaderReadInnerXml(xmlTextReaderPtr reader ATTRIBUTE_UNUSED) } doc = reader->node->doc; buff = xmlBufferCreate(); + if (buff == NULL) + return NULL; for (cur_node = reader->node->children; cur_node != NULL; cur_node = cur_node->next) { /* XXX: Why is the node copied? */ @@ -1755,11 +1808,11 @@ xmlTextReaderReadOuterXml(xmlTextReaderPtr reader ATTRIBUTE_UNUSED) xmlBufferPtr buff; xmlDocPtr doc; - node = reader->node; - doc = node->doc; if (xmlTextReaderExpand(reader) == NULL) { return NULL; } + node = reader->node; + doc = node->doc; /* XXX: Why is the node copied? */ if (node->type == XML_DTD_NODE) { node = (xmlNodePtr) xmlCopyDtd((xmlDtdPtr) node); @@ -2262,17 +2315,23 @@ xmlFreeTextReader(xmlTextReaderPtr reader) { if (reader->ctxt != NULL) { if (reader->dict == reader->ctxt->dict) reader->dict = NULL; - if (reader->ctxt->myDoc != NULL) { - if (reader->preserve == 0) - xmlTextReaderFreeDoc(reader, reader->ctxt->myDoc); - reader->ctxt->myDoc = NULL; - } +#ifdef LIBXML_VALID_ENABLED if ((reader->ctxt->vctxt.vstateTab != NULL) && (reader->ctxt->vctxt.vstateMax > 0)){ +#ifdef LIBXML_REGEXP_ENABLED + while (reader->ctxt->vctxt.vstateNr > 0) + xmlValidatePopElement(&reader->ctxt->vctxt, NULL, NULL, NULL); +#endif /* LIBXML_REGEXP_ENABLED */ xmlFree(reader->ctxt->vctxt.vstateTab); reader->ctxt->vctxt.vstateTab = NULL; reader->ctxt->vctxt.vstateMax = 0; } +#endif /* LIBXML_VALID_ENABLED */ + if (reader->ctxt->myDoc != NULL) { + if (reader->preserve == 0) + xmlTextReaderFreeDoc(reader, reader->ctxt->myDoc); + reader->ctxt->myDoc = NULL; + } if (reader->allocs & XML_TEXTREADER_CTXT) xmlFreeParserCtxt(reader->ctxt); } @@ -2500,7 +2559,7 @@ xmlTextReaderGetAttributeNs(xmlTextReaderPtr reader, const xmlChar *localName, * parser, set its state to End Of File and return the input stream with * what is left that the parser did not use. * - * The implementation is not good, the parser certainly procgressed past + * The implementation is not good, the parser certainly progressed past * what's left in reader->input, and there is an allocation problem. Best * would be to rewrite it differently. * @@ -2882,8 +2941,8 @@ xmlTextReaderMoveToElement(xmlTextReaderPtr reader) { * * Parses an attribute value into one or more Text and EntityReference nodes. * - * Returns 1 in case of success, 0 if the reader was not positionned on an - * ttribute node or all the attribute values have been read, or -1 + * Returns 1 in case of success, 0 if the reader was not positioned on an + * attribute node or all the attribute values have been read, or -1 * in case of error. */ int @@ -2950,7 +3009,7 @@ xmlTextReaderConstEncoding(xmlTextReaderPtr reader) { /************************************************************************ * * - * Acces API to the current node * + * Access API to the current node * * * ************************************************************************/ /** @@ -3765,7 +3824,7 @@ xmlTextReaderConstString(xmlTextReaderPtr reader, const xmlChar *str) { * * The value indicating whether to normalize white space and attribute values. * Since attribute value and end of line normalizations are a MUST in the XML - * specification only the value true is accepted. The broken bahaviour of + * specification only the value true is accepted. The broken behaviour of * accepting out of range character entities like � is of course not * supported either. * @@ -3827,16 +3886,20 @@ xmlTextReaderSetParserProp(xmlTextReaderPtr reader, int prop, int value) { return(0); case XML_PARSER_VALIDATE: if (value != 0) { + ctxt->options |= XML_PARSE_DTDVALID; ctxt->validate = 1; reader->validate = XML_TEXTREADER_VALIDATE_DTD; } else { + ctxt->options &= ~XML_PARSE_DTDVALID; ctxt->validate = 0; } return(0); case XML_PARSER_SUBST_ENTITIES: if (value != 0) { + ctxt->options |= XML_PARSE_NOENT; ctxt->replaceEntities = 1; } else { + ctxt->options &= ~XML_PARSE_NOENT; ctxt->replaceEntities = 0; } return(0); @@ -3920,7 +3983,7 @@ xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader) * xmlTextReaderCurrentNode: * @reader: the xmlTextReaderPtr used * - * Hacking interface allowing to get the xmlNodePtr correponding to the + * Hacking interface allowing to get the xmlNodePtr corresponding to the * current node being accessed by the xmlTextReader. This is dangerous * because the underlying node may be destroyed on the next Reads. * @@ -4032,7 +4095,7 @@ xmlTextReaderPreservePattern(xmlTextReaderPtr reader, const xmlChar *pattern, * xmlTextReaderCurrentDoc: * @reader: the xmlTextReaderPtr used * - * Hacking interface allowing to get the xmlDocPtr correponding to the + * Hacking interface allowing to get the xmlDocPtr corresponding to the * current document being accessed by the xmlTextReader. * NOTE: as a result of this call, the reader will not destroy the * associated XML document and calling xmlFreeDoc() on the result @@ -4135,11 +4198,11 @@ xmlTextReaderValidityStructuredRelay(void *userData, xmlErrorPtr error) * * Use RelaxNG to validate the document as it is processed. * Activation is only possible before the first Read(). - * if @schema is NULL, then RelaxNG validation is desactivated. + * if @schema is NULL, then RelaxNG validation is deactivated. @ The @schema should not be freed until the reader is deallocated * or its use has been deactivated. * - * Returns 0 in case the RelaxNG validation could be (des)activated and + * Returns 0 in case the RelaxNG validation could be (de)activated and * -1 in case of error. */ int @@ -4199,7 +4262,7 @@ xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader, xmlRelaxNGPtr schema) { * * Internal locator function for the readers * - * Returns 0 in case the Schema validation could be (des)activated and + * Returns 0 in case the Schema validation could be (de)activated and * -1 in case of error. */ static int @@ -4252,11 +4315,11 @@ xmlTextReaderLocator(void *ctx, const char **file, unsigned long *line) { * * Use XSD Schema to validate the document as it is processed. * Activation is only possible before the first Read(). - * if @schema is NULL, then Schema validation is desactivated. - @ The @schema should not be freed until the reader is deallocated + * if @schema is NULL, then Schema validation is deactivated. + * The @schema should not be freed until the reader is deallocated * or its use has been deactivated. * - * Returns 0 in case the Schema validation could be (des)activated and + * Returns 0 in case the Schema validation could be (de)activated and * -1 in case of error. */ int diff --git a/xmlregexp.c b/xmlregexp.c index d255fbf0..dbf3bf2c 100644 --- a/xmlregexp.c +++ b/xmlregexp.c @@ -2,7 +2,7 @@ * regexp.c: generic and extensible Regular Expression engine * * Basically designed with the purpose of compiling regexps for - * the variety of validation/shemas mechanisms now available in + * the variety of validation/schemas mechanisms now available in * XML related specifications these include: * - XML-1.0 DTD validation * - XML Schemas structure part 1 @@ -26,6 +26,9 @@ #ifdef HAVE_LIMITS_H #include <limits.h> #endif +#ifdef HAVE_STDINT_H +#include <stdint.h> +#endif #include <libxml/tree.h> #include <libxml/parserInternals.h> @@ -36,6 +39,9 @@ #ifndef INT_MAX #define INT_MAX 123456789 /* easy to flag and big enough for our needs */ #endif +#ifndef SIZE_MAX +#define SIZE_MAX ((size_t) -1) +#endif /* #define DEBUG_REGEXP_GRAPH */ /* #define DEBUG_REGEXP_EXEC */ @@ -228,7 +234,7 @@ struct _xmlAutomataState { int maxTrans; int nbTrans; xmlRegTrans *trans; - /* knowing states ponting to us can speed things up */ + /* knowing states pointing to us can speed things up */ int maxTransTo; int nbTransTo; int *transTo; @@ -267,6 +273,8 @@ struct _xmlAutomata { int determinist; int negs; int flags; + + int depth; }; struct _xmlRegexp { @@ -418,6 +426,32 @@ xmlRegexpErrCompile(xmlRegParserCtxtPtr ctxt, const char *extra) ************************************************************************/ static int xmlFAComputesDeterminism(xmlRegParserCtxtPtr ctxt); + +/** + * xmlRegCalloc2: + * @dim1: size of first dimension + * @dim2: size of second dimension + * @elemSize: size of element + * + * Allocate a two-dimensional array and set all elements to zero. + * + * Returns the new array or NULL in case of error. + */ +static void* +xmlRegCalloc2(size_t dim1, size_t dim2, size_t elemSize) { + size_t totalSize; + void *ret; + + /* Check for overflow */ + if (dim1 > SIZE_MAX / dim2 / elemSize) + return (NULL); + totalSize = dim1 * dim2 * elemSize; + ret = xmlMalloc(totalSize); + if (ret != NULL) + memset(ret, 0, totalSize); + return (ret); +} + /** * xmlRegEpxFromParse: * @ctxt: the parser context used to build it @@ -540,16 +574,17 @@ xmlRegEpxFromParse(xmlRegParserCtxtPtr ctxt) { #ifdef DEBUG_COMPACTION printf("Final: %d atoms\n", nbatoms); #endif - transitions = (int *) xmlMalloc((nbstates + 1) * - (nbatoms + 1) * sizeof(int)); + transitions = (int *) xmlRegCalloc2(nbstates + 1, nbatoms + 1, + sizeof(int)); if (transitions == NULL) { xmlFree(stateRemap); xmlFree(stringRemap); + for (i = 0;i < nbatoms;i++) + xmlFree(stringMap[i]); xmlFree(stringMap); xmlFree(ret); return(NULL); } - memset(transitions, 0, (nbstates + 1) * (nbatoms + 1) * sizeof(int)); /* * Allocate the transition table. The first entry for each @@ -575,12 +610,9 @@ xmlRegEpxFromParse(xmlRegParserCtxtPtr ctxt) { continue; atomno = stringRemap[trans->atom->no]; if ((trans->atom->data != NULL) && (transdata == NULL)) { - transdata = (void **) xmlMalloc(nbstates * nbatoms * - sizeof(void *)); - if (transdata != NULL) - memset(transdata, 0, - nbstates * nbatoms * sizeof(void *)); - else { + transdata = (void **) xmlRegCalloc2(nbstates, nbatoms, + sizeof(void *)); + if (transdata == NULL) { xmlRegexpErrMemory(ctxt, "compiling regexp"); break; } @@ -588,7 +620,7 @@ xmlRegEpxFromParse(xmlRegParserCtxtPtr ctxt) { targetno = stateRemap[trans->to]; /* * if the same atom can generate transitions to 2 different - * states then it means the automata is not determinist and + * states then it means the automata is not deterministic and * the compact form can't be used ! */ prev = transitions[stateno * (nbatoms + 1) + atomno + 1]; @@ -829,7 +861,7 @@ xmlRegFreeAtom(xmlRegAtomPtr atom) { /** * xmlRegCopyAtom: * @ctxt: the regexp parser context - * @atom: the oiginal atom + * @atom: the original atom * * Allocate a new regexp range * @@ -1547,7 +1579,7 @@ xmlFAGenerateTransitions(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr from, int nullable = 0; if (atom == NULL) { - ERROR("genrate transition: atom == NULL"); + ERROR("generate transition: atom == NULL"); return(-1); } if (atom->type == XML_REGEXP_SUBREG) { @@ -1622,7 +1654,7 @@ xmlFAGenerateTransitions(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr from, xmlRegAtomPtr copy; /* * duplicate a transition based on atom to count next - * occurences after 1. We cannot loop to atom->start + * occurrences after 1. We cannot loop to atom->start * directly because we need an epsilon transition to * newstate. */ @@ -1655,7 +1687,7 @@ xmlFAGenerateTransitions(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr from, } else { /* * either we need the atom at least once or there - * is an atom->start0 allowing to easilly plug the + * is an atom->start0 allowing to easily plug the * epsilon transition. */ counter = xmlRegGetCounter(ctxt); @@ -1955,7 +1987,7 @@ xmlFAEliminateEpsilonTransitions(xmlRegParserCtxtPtr ctxt) { * Build the completed transitions bypassing the epsilons * Use a marking algorithm to avoid loops * Mark sink states too. - * Process from the latests states backward to the start when + * Process from the latest states backward to the start when * there is long cascading epsilon chains this minimize the * recursions and transition compares when adding the new ones */ @@ -2143,7 +2175,7 @@ xmlFACompareRanges(xmlRegRangePtr range1, xmlRegRangePtr range2) { } else { /* * comparing a block range with anything else is way - * too costly, and maintining the table is like too much + * too costly, and maintaining the table is like too much * memory too, so let's force the automata to save state * here. */ @@ -2277,7 +2309,7 @@ xmlFACompareAtomTypes(xmlRegAtomType type1, xmlRegAtomType type2) { } switch (type1) { case XML_REGEXP_ANYSPACE: /* \s */ - /* can't be a letter, number, mark, pontuation, symbol */ + /* can't be a letter, number, mark, punctuation, symbol */ if ((type2 == XML_REGEXP_NOTSPACE) || ((type2 >= XML_REGEXP_LETTER) && (type2 <= XML_REGEXP_LETTER_OTHERS)) || @@ -2294,7 +2326,7 @@ xmlFACompareAtomTypes(xmlRegAtomType type1, xmlRegAtomType type2) { case XML_REGEXP_NOTSPACE: /* \S */ break; case XML_REGEXP_INITNAME: /* \l */ - /* can't be a number, mark, separator, pontuation, symbol or other */ + /* can't be a number, mark, separator, punctuation, symbol or other */ if ((type2 == XML_REGEXP_NOTINITNAME) || ((type2 >= XML_REGEXP_NUMBER) && (type2 <= XML_REGEXP_NUMBER_OTHERS)) || @@ -2313,7 +2345,7 @@ xmlFACompareAtomTypes(xmlRegAtomType type1, xmlRegAtomType type2) { case XML_REGEXP_NOTINITNAME: /* \L */ break; case XML_REGEXP_NAMECHAR: /* \c */ - /* can't be a mark, separator, pontuation, symbol or other */ + /* can't be a mark, separator, punctuation, symbol or other */ if ((type2 == XML_REGEXP_NOTNAMECHAR) || ((type2 >= XML_REGEXP_MARK) && (type2 <= XML_REGEXP_MARK_ENCLOSING)) || @@ -2330,7 +2362,7 @@ xmlFACompareAtomTypes(xmlRegAtomType type1, xmlRegAtomType type2) { case XML_REGEXP_NOTNAMECHAR: /* \C */ break; case XML_REGEXP_DECIMAL: /* \d */ - /* can't be a letter, mark, separator, pontuation, symbol or other */ + /* can't be a letter, mark, separator, punctuation, symbol or other */ if ((type2 == XML_REGEXP_NOTDECIMAL) || (type2 == XML_REGEXP_REALCHAR) || ((type2 >= XML_REGEXP_LETTER) && @@ -2350,7 +2382,7 @@ xmlFACompareAtomTypes(xmlRegAtomType type1, xmlRegAtomType type2) { case XML_REGEXP_NOTDECIMAL: /* \D */ break; case XML_REGEXP_REALCHAR: /* \w */ - /* can't be a mark, separator, pontuation, symbol or other */ + /* can't be a mark, separator, punctuation, symbol or other */ if ((type2 == XML_REGEXP_NOTDECIMAL) || ((type2 >= XML_REGEXP_MARK) && (type2 <= XML_REGEXP_MARK_ENCLOSING)) || @@ -2526,9 +2558,18 @@ xmlFACompareAtoms(xmlRegAtomPtr atom1, xmlRegAtomPtr atom2, int deep) { case XML_REGEXP_STRING: if (!deep) ret = (atom1->valuep != atom2->valuep); - else - ret = xmlRegStrEqualWildcard((xmlChar *)atom1->valuep, - (xmlChar *)atom2->valuep); + else { + xmlChar *val1 = (xmlChar *)atom1->valuep; + xmlChar *val2 = (xmlChar *)atom2->valuep; + int compound1 = (xmlStrchr(val1, '|') != NULL); + int compound2 = (xmlStrchr(val2, '|') != NULL); + + /* Ignore negative match flag for ##other namespaces */ + if (compound1 != compound2) + return(0); + + ret = xmlRegStrEqualWildcard(val1, val2); + } break; case XML_REGEXP_EPSILON: goto not_determinist; @@ -3564,9 +3605,9 @@ xmlRegNewExecCtxt(xmlRegexpPtr comp, xmlRegExecCallbacks callback, void *data) { /** * xmlRegFreeExecCtxt: - * @exec: a regular expression evaulation context + * @exec: a regular expression evaluation context * - * Free the structures associated to a regular expression evaulation context. + * Free the structures associated to a regular expression evaluation context. */ void xmlRegFreeExecCtxt(xmlRegExecCtxtPtr exec) { @@ -3640,7 +3681,7 @@ xmlFARegExecSaveInputString(xmlRegExecCtxtPtr exec, const xmlChar *value, * @valStr: the validation string * * Checks if both strings are equal or have the same content. "*" - * can be used as a wildcard in @valStr; "|" is used as a seperator of + * can be used as a wildcard in @valStr; "|" is used as a separator of * substrings in both @expStr and @valStr. * * Returns 1 if the comparison is satisfied and the number of substrings @@ -4210,7 +4251,7 @@ xmlRegExecPushString2(xmlRegExecCtxtPtr exec, const xmlChar *value, * @values: pointer to the array of acceptable values * @terminal: return value if this was a terminal state * - * Extract informations from the regexp execution, internal routine to + * Extract information from the regexp execution, internal routine to * implement xmlRegExecNextValues() and xmlRegExecErrInfo() * * Returns: 0 in case of success or -1 in case of error. @@ -4369,7 +4410,7 @@ xmlRegExecGetValues(xmlRegExecCtxtPtr exec, int err, * @values: pointer to the array of acceptable values * @terminal: return value if this was a terminal state * - * Extract informations from the regexp execution, + * Extract information from the regexp execution, * the parameter @values must point to an array of @nbval string pointers * on return nbval will contain the number of possible strings in that * state and the @values array will be updated with them. The string values @@ -4393,7 +4434,7 @@ xmlRegExecNextValues(xmlRegExecCtxtPtr exec, int *nbval, int *nbneg, * @values: pointer to the array of acceptable values * @terminal: return value if this was a terminal state * - * Extract error informations from the regexp execution, the parameter + * Extract error information from the regexp execution, the parameter * @string will be updated with the value pushed and not accepted, * the parameter @values must point to an array of @nbval string pointers * on return nbval will contain the number of possible strings in that @@ -5172,13 +5213,24 @@ static int xmlFAParseQuantExact(xmlRegParserCtxtPtr ctxt) { int ret = 0; int ok = 0; + int overflow = 0; while ((CUR >= '0') && (CUR <= '9')) { - ret = ret * 10 + (CUR - '0'); + if (ret > INT_MAX / 10) { + overflow = 1; + } else { + int digit = CUR - '0'; + + ret *= 10; + if (ret > INT_MAX - digit) + overflow = 1; + else + ret += digit; + } ok = 1; NEXT; } - if (ok != 1) { + if ((ok != 1) || (overflow == 1)) { return(-1); } return(ret); @@ -5218,6 +5270,9 @@ xmlFAParseQuantifier(xmlRegParserCtxtPtr ctxt) { cur = xmlFAParseQuantExact(ctxt); if (cur >= 0) min = cur; + else { + ERROR("Improper quantifier"); + } if (CUR == ',') { NEXT; if (CUR == '}') @@ -5277,6 +5332,10 @@ xmlFAParseAtom(xmlRegParserCtxtPtr ctxt) { xmlRegStatePtr start, oldend, start0; NEXT; + if (ctxt->depth >= 50) { + ERROR("xmlFAParseAtom: maximum nesting depth exceeded"); + return(-1); + } /* * this extra Epsilon transition is needed if we count with 0 allowed * unfortunately this can't be known at that point @@ -5288,7 +5347,9 @@ xmlFAParseAtom(xmlRegParserCtxtPtr ctxt) { oldend = ctxt->end; ctxt->end = NULL; ctxt->atom = NULL; + ctxt->depth++; xmlFAParseRegExp(ctxt, 0); + ctxt->depth--; if (CUR == ')') { NEXT; } else { @@ -5347,9 +5408,12 @@ xmlFAParseBranch(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr to) { previous = ctxt->state; ret = xmlFAParsePiece(ctxt); - if (ret != 0) { + if (ret == 0) { + /* Empty branch */ + xmlFAGenerateEpsilonTransition(ctxt, previous, to); + } else { if (xmlFAGenerateTransitions(ctxt, previous, - (CUR=='|' || CUR==')') ? to : NULL, ctxt->atom) < 0) + (CUR=='|' || CUR==')' || CUR==0) ? to : NULL, ctxt->atom) < 0) return(-1); previous = ctxt->state; ctxt->atom = NULL; @@ -5358,7 +5422,8 @@ xmlFAParseBranch(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr to) { ret = xmlFAParsePiece(ctxt); if (ret != 0) { if (xmlFAGenerateTransitions(ctxt, previous, - (CUR=='|' || CUR==')') ? to : NULL, ctxt->atom) < 0) + (CUR=='|' || CUR==')' || CUR==0) ? to : NULL, + ctxt->atom) < 0) return(-1); previous = ctxt->state; ctxt->atom = NULL; @@ -5395,10 +5460,6 @@ xmlFAParseRegExp(xmlRegParserCtxtPtr ctxt, int top) { end = ctxt->state; while ((CUR == '|') && (ctxt->error == 0)) { NEXT; - if (CUR == 0) { - ERROR("expecting a branch after |") - return; - } ctxt->state = start; ctxt->end = NULL; xmlFAParseBranch(ctxt, end); @@ -5537,6 +5598,8 @@ xmlRegexpIsDeterminist(xmlRegexpPtr comp) { return(comp->determinist); am = xmlNewAutomata(); + if (am == NULL) + return(-1); if (am->states != NULL) { int i; @@ -5864,8 +5927,8 @@ xmlAutomataNewNegTrans(xmlAutomataPtr am, xmlAutomataStatePtr from, * @to: the target point of the transition or NULL * @token: the input string associated to that transition * @token2: the second input string associated to that transition - * @min: the minimum successive occurences of token - * @max: the maximum successive occurences of token + * @min: the minimum successive occurrences of token + * @max: the maximum successive occurrences of token * @data: data associated to the transition * * If @to is NULL, this creates first a new target state in the automata @@ -5951,8 +6014,8 @@ xmlAutomataNewCountTrans2(xmlAutomataPtr am, xmlAutomataStatePtr from, * @from: the starting point of the transition * @to: the target point of the transition or NULL * @token: the input string associated to that transition - * @min: the minimum successive occurences of token - * @max: the maximum successive occurences of token + * @min: the minimum successive occurrences of token + * @max: the maximum successive occurrences of token * @data: data associated to the transition * * If @to is NULL, this creates first a new target state in the automata @@ -6018,8 +6081,8 @@ xmlAutomataNewCountTrans(xmlAutomataPtr am, xmlAutomataStatePtr from, * @to: the target point of the transition or NULL * @token: the input string associated to that transition * @token2: the second input string associated to that transition - * @min: the minimum successive occurences of token - * @max: the maximum successive occurences of token + * @min: the minimum successive occurrences of token + * @max: the maximum successive occurrences of token * @data: data associated to the transition * * If @to is NULL, this creates first a new target state in the automata @@ -6042,7 +6105,7 @@ xmlAutomataNewOnceTrans2(xmlAutomataPtr am, xmlAutomataStatePtr from, return(NULL); if (min < 1) return(NULL); - if ((max < min) || (max < 1)) + if (max < min) return(NULL); atom = xmlRegNewAtom(am, XML_REGEXP_STRING); if (atom == NULL) @@ -6098,8 +6161,8 @@ xmlAutomataNewOnceTrans2(xmlAutomataPtr am, xmlAutomataStatePtr from, * @from: the starting point of the transition * @to: the target point of the transition or NULL * @token: the input string associated to that transition - * @min: the minimum successive occurences of token - * @max: the maximum successive occurences of token + * @min: the minimum successive occurrences of token + * @max: the maximum successive occurrences of token * @data: data associated to the transition * * If @to is NULL, this creates first a new target state in the automata @@ -6121,7 +6184,7 @@ xmlAutomataNewOnceTrans(xmlAutomataPtr am, xmlAutomataStatePtr from, return(NULL); if (min < 1) return(NULL); - if ((max < min) || (max < 1)) + if (max < min) return(NULL); atom = xmlRegNewAtom(am, XML_REGEXP_STRING); if (atom == NULL) @@ -6616,7 +6679,7 @@ xmlExpHashGetEntry(xmlExpCtxtPtr ctxt, xmlExpNodeType type, /* OR reduction rule 1 */ /* a | a reduced to a */ if (left == right) { - left->ref--; + xmlExpFree(ctxt, right); return(left); } /* OR canonicalization rule 1 */ @@ -7075,7 +7138,7 @@ xmlExpGetStart(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp, * xmlExpIsNillable: * @exp: the expression * - * Finds if the expression is nillable, i.e. if it accepts the empty sequqnce + * Finds if the expression is nillable, i.e. if it accepts the empty sequence * * Returns 1 if nillable, 0 if not and -1 in case of error */ @@ -7258,7 +7321,7 @@ static xmlExpNodePtr xmlExpExpDeriveInt(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp, * so that sub{n} subsume exp * * Returns the multiple value if successful, 0 if it is not a multiple - * and -1 in case of internel error. + * and -1 in case of internal error. */ static int @@ -7426,7 +7489,7 @@ xmlExpExpDeriveInt(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp, xmlExpNodePtr sub) { return(forbiddenExp); } #ifdef DEBUG_DERIV - printf("Compex exp vs Atom -> Forbid\n"); + printf("Complex exp vs Atom -> Forbid\n"); #endif return(forbiddenExp); case XML_EXP_SEQ: @@ -7770,7 +7833,7 @@ xmlExpExpDeriveInt(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp, xmlExpNodePtr sub) { * * Evaluates the expression resulting from @exp consuming a sub expression @sub * Based on algebraic derivation and sometimes direct Brzozowski derivation - * it usually tatkes less than linear time and can handle expressions generating + * it usually takes less than linear time and can handle expressions generating * infinite languages. * * Returns the resulting expression or NULL in case of internal error, the @@ -7792,7 +7855,7 @@ xmlExpExpDerive(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp, xmlExpNodePtr sub) { } if (xmlExpCheckCard(exp, sub) == 0) { #ifdef DEBUG_DERIV - printf("sub generate longuer sequances than exp : can't subsume\n"); + printf("sub generate longer sequences than exp : can't subsume\n"); #endif return(forbiddenExp); } @@ -7805,7 +7868,7 @@ xmlExpExpDerive(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp, xmlExpNodePtr sub) { * @exp: the englobing expression * @sub: the subexpression * - * Check whether @exp accepts all the languages accexpted by @sub + * Check whether @exp accepts all the languages accepted by @sub * the input being a subexpression. * * Returns 1 if true 0 if false and -1 in case of failure. @@ -7832,7 +7895,7 @@ xmlExpSubsume(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp, xmlExpNodePtr sub) { } if (xmlExpCheckCard(exp, sub) == 0) { #ifdef DEBUG_DERIV - printf("sub generate longuer sequances than exp : can't subsume\n"); + printf("sub generate longer sequences than exp : can't subsume\n"); #endif return(0); } @@ -1,5 +1,5 @@ /* - * xmlsave.c: Implemetation of the document serializer + * xmlsave.c: Implementation of the document serializer * * See Copyright for the status of this software. * @@ -83,7 +83,6 @@ struct _xmlSaveCtxt { const xmlChar *encoding; xmlCharEncodingHandlerPtr handler; xmlOutputBufferPtr buf; - xmlDocPtr doc; int options; int level; int format; @@ -101,7 +100,7 @@ struct _xmlSaveCtxt { ************************************************************************/ /** * xmlSaveErrMemory: - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -115,7 +114,7 @@ xmlSaveErrMemory(const char *extra) * xmlSaveErr: * @code: the error number * @node: the location of the error. - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -356,7 +355,7 @@ xmlSaveCtxtInit(xmlSaveCtxtPtr ctxt) /** * xmlFreeSaveCtxt: * - * Free a saving context, destroying the ouptut in any remaining buffer + * Free a saving context, destroying the output in any remaining buffer */ static void xmlFreeSaveCtxt(xmlSaveCtxtPtr ctxt) @@ -591,7 +590,6 @@ static int xmlSaveClearEncoding(xmlSaveCtxtPtr ctxt) { static void xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur); #endif -static void xmlNodeListDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur); static void xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur); void xmlNsListDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur); static int xmlDocContentDumpOutput(xmlSaveCtxtPtr ctxt, xmlDocPtr cur); @@ -706,8 +704,8 @@ xmlNsListDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur) { static void xmlDtdDumpOutput(xmlSaveCtxtPtr ctxt, xmlDtdPtr dtd) { xmlOutputBufferPtr buf; + xmlNodePtr cur; int format, level; - xmlDocPtr doc; if (dtd == NULL) return; if ((ctxt == NULL) || (ctxt->buf == NULL)) @@ -742,14 +740,13 @@ xmlDtdDumpOutput(xmlSaveCtxtPtr ctxt, xmlDtdPtr dtd) { } format = ctxt->format; level = ctxt->level; - doc = ctxt->doc; ctxt->format = 0; ctxt->level = -1; - ctxt->doc = dtd->doc; - xmlNodeListDumpOutput(ctxt, dtd->children); + for (cur = dtd->children; cur != NULL; cur = cur->next) { + xmlNodeDumpOutputInternal(ctxt, cur); + } ctxt->format = format; ctxt->level = level; - ctxt->doc = doc; xmlOutputBufferWrite(buf, 2, "]>"); } @@ -781,58 +778,9 @@ xmlAttrDumpOutput(xmlSaveCtxtPtr ctxt, xmlAttrPtr cur) { xmlOutputBufferWrite(buf, 1, "\""); } -/** - * xmlAttrListDumpOutput: - * @buf: the XML buffer output - * @doc: the document - * @cur: the first attribute pointer - * @encoding: an optional encoding string - * - * Dump a list of XML attributes - */ -static void -xmlAttrListDumpOutput(xmlSaveCtxtPtr ctxt, xmlAttrPtr cur) { - if (cur == NULL) return; - while (cur != NULL) { - xmlAttrDumpOutput(ctxt, cur); - cur = cur->next; - } -} - - - -/** - * xmlNodeListDumpOutput: - * @cur: the first node - * - * Dump an XML node list, recursive behaviour, children are printed too. - */ -static void -xmlNodeListDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { - xmlOutputBufferPtr buf; - - if (cur == NULL) return; - buf = ctxt->buf; - while (cur != NULL) { - if ((ctxt->format == 1) && (xmlIndentTreeOutput) && - ((cur->type == XML_ELEMENT_NODE) || - (cur->type == XML_COMMENT_NODE) || - (cur->type == XML_PI_NODE))) - xmlOutputBufferWrite(buf, ctxt->indent_size * - (ctxt->level > ctxt->indent_nr ? - ctxt->indent_nr : ctxt->level), - ctxt->indent); - xmlNodeDumpOutputInternal(ctxt, cur); - if (ctxt->format == 1) { - xmlOutputBufferWrite(buf, 1, "\n"); - } - cur = cur->next; - } -} - #ifdef LIBXML_HTML_ENABLED /** - * xmlNodeDumpOutputInternal: + * htmlNodeDumpOutputInternal: * @cur: the current node * * Dump an HTML node, recursive behaviour, children are printed too. @@ -898,57 +846,111 @@ htmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { */ static void xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { - int format; - xmlNodePtr tmp; + int format = ctxt->format; + xmlNodePtr tmp, root, unformattedNode = NULL; + xmlAttrPtr attr; xmlChar *start, *end; xmlOutputBufferPtr buf; if (cur == NULL) return; buf = ctxt->buf; - if (cur->type == XML_XINCLUDE_START) - return; - if (cur->type == XML_XINCLUDE_END) - return; - if ((cur->type == XML_DOCUMENT_NODE) || - (cur->type == XML_HTML_DOCUMENT_NODE)) { - xmlDocContentDumpOutput(ctxt, (xmlDocPtr) cur); - return; - } -#ifdef LIBXML_HTML_ENABLED - if (ctxt->options & XML_SAVE_XHTML) { - xhtmlNodeDumpOutput(ctxt, cur); - return; - } - if (((cur->type != XML_NAMESPACE_DECL) && (cur->doc != NULL) && - (cur->doc->type == XML_HTML_DOCUMENT_NODE) && - ((ctxt->options & XML_SAVE_AS_XML) == 0)) || - (ctxt->options & XML_SAVE_AS_HTML)) { - htmlNodeDumpOutputInternal(ctxt, cur); - return; - } -#endif - if (cur->type == XML_DTD_NODE) { - xmlDtdDumpOutput(ctxt, (xmlDtdPtr) cur); - return; - } - if (cur->type == XML_DOCUMENT_FRAG_NODE) { - xmlNodeListDumpOutput(ctxt, cur->children); - return; - } - if (cur->type == XML_ELEMENT_DECL) { - xmlBufDumpElementDecl(buf->buffer, (xmlElementPtr) cur); - return; - } - if (cur->type == XML_ATTRIBUTE_DECL) { - xmlBufDumpAttributeDecl(buf->buffer, (xmlAttributePtr) cur); - return; - } - if (cur->type == XML_ENTITY_DECL) { - xmlBufDumpEntityDecl(buf->buffer, (xmlEntityPtr) cur); - return; - } - if (cur->type == XML_TEXT_NODE) { - if (cur->content != NULL) { + + root = cur; + while (1) { + switch (cur->type) { + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: + xmlDocContentDumpOutput(ctxt, (xmlDocPtr) cur); + break; + + case XML_DTD_NODE: + xmlDtdDumpOutput(ctxt, (xmlDtdPtr) cur); + break; + + case XML_DOCUMENT_FRAG_NODE: + if (cur->children != NULL) { + cur = cur->children; + continue; + } + break; + + case XML_ELEMENT_DECL: + xmlBufDumpElementDecl(buf->buffer, (xmlElementPtr) cur); + break; + + case XML_ATTRIBUTE_DECL: + xmlBufDumpAttributeDecl(buf->buffer, (xmlAttributePtr) cur); + break; + + case XML_ENTITY_DECL: + xmlBufDumpEntityDecl(buf->buffer, (xmlEntityPtr) cur); + break; + + case XML_ELEMENT_NODE: + if ((cur != root) && (ctxt->format == 1) && (xmlIndentTreeOutput)) + xmlOutputBufferWrite(buf, ctxt->indent_size * + (ctxt->level > ctxt->indent_nr ? + ctxt->indent_nr : ctxt->level), + ctxt->indent); + + xmlOutputBufferWrite(buf, 1, "<"); + if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { + xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix); + xmlOutputBufferWrite(buf, 1, ":"); + } + xmlOutputBufferWriteString(buf, (const char *)cur->name); + if (cur->nsDef) + xmlNsListDumpOutputCtxt(ctxt, cur->nsDef); + for (attr = cur->properties; attr != NULL; attr = attr->next) + xmlAttrDumpOutput(ctxt, attr); + + if (cur->children == NULL) { + if ((ctxt->options & XML_SAVE_NO_EMPTY) == 0) { + if (ctxt->format == 2) + xmlOutputBufferWriteWSNonSig(ctxt, 0); + xmlOutputBufferWrite(buf, 2, "/>"); + } else { + if (ctxt->format == 2) + xmlOutputBufferWriteWSNonSig(ctxt, 1); + xmlOutputBufferWrite(buf, 3, "></"); + if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { + xmlOutputBufferWriteString(buf, + (const char *)cur->ns->prefix); + xmlOutputBufferWrite(buf, 1, ":"); + } + xmlOutputBufferWriteString(buf, (const char *)cur->name); + if (ctxt->format == 2) + xmlOutputBufferWriteWSNonSig(ctxt, 0); + xmlOutputBufferWrite(buf, 1, ">"); + } + } else { + if (ctxt->format == 1) { + tmp = cur->children; + while (tmp != NULL) { + if ((tmp->type == XML_TEXT_NODE) || + (tmp->type == XML_CDATA_SECTION_NODE) || + (tmp->type == XML_ENTITY_REF_NODE)) { + ctxt->format = 0; + unformattedNode = cur; + break; + } + tmp = tmp->next; + } + } + if (ctxt->format == 2) + xmlOutputBufferWriteWSNonSig(ctxt, 1); + xmlOutputBufferWrite(buf, 1, ">"); + if (ctxt->format == 1) xmlOutputBufferWrite(buf, 1, "\n"); + if (ctxt->level >= 0) ctxt->level++; + cur = cur->children; + continue; + } + + break; + + case XML_TEXT_NODE: + if (cur->content == NULL) + break; if (cur->name != xmlStringTextNoenc) { xmlOutputBufferWriteEscape(buf, cur->content, ctxt->escape); } else { @@ -957,139 +959,132 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { */ xmlOutputBufferWriteString(buf, (const char *) cur->content); } - } + break; - return; - } - if (cur->type == XML_PI_NODE) { - if (cur->content != NULL) { - xmlOutputBufferWrite(buf, 2, "<?"); - xmlOutputBufferWriteString(buf, (const char *)cur->name); - if (cur->content != NULL) { - if (ctxt->format == 2) - xmlOutputBufferWriteWSNonSig(ctxt, 0); - else - xmlOutputBufferWrite(buf, 1, " "); - xmlOutputBufferWriteString(buf, (const char *)cur->content); - } - xmlOutputBufferWrite(buf, 2, "?>"); - } else { - xmlOutputBufferWrite(buf, 2, "<?"); - xmlOutputBufferWriteString(buf, (const char *)cur->name); - if (ctxt->format == 2) - xmlOutputBufferWriteWSNonSig(ctxt, 0); - xmlOutputBufferWrite(buf, 2, "?>"); - } - return; - } - if (cur->type == XML_COMMENT_NODE) { - if (cur->content != NULL) { - xmlOutputBufferWrite(buf, 4, "<!--"); - xmlOutputBufferWriteString(buf, (const char *)cur->content); - xmlOutputBufferWrite(buf, 3, "-->"); - } - return; - } - if (cur->type == XML_ENTITY_REF_NODE) { - xmlOutputBufferWrite(buf, 1, "&"); - xmlOutputBufferWriteString(buf, (const char *)cur->name); - xmlOutputBufferWrite(buf, 1, ";"); - return; - } - if (cur->type == XML_CDATA_SECTION_NODE) { - if (cur->content == NULL || *cur->content == '\0') { - xmlOutputBufferWrite(buf, 12, "<![CDATA[]]>"); - } else { - start = end = cur->content; - while (*end != '\0') { - if ((*end == ']') && (*(end + 1) == ']') && - (*(end + 2) == '>')) { - end = end + 2; - xmlOutputBufferWrite(buf, 9, "<![CDATA["); - xmlOutputBufferWrite(buf, end - start, (const char *)start); - xmlOutputBufferWrite(buf, 3, "]]>"); - start = end; - } - end++; - } - if (start != end) { - xmlOutputBufferWrite(buf, 9, "<![CDATA["); - xmlOutputBufferWriteString(buf, (const char *)start); - xmlOutputBufferWrite(buf, 3, "]]>"); - } - } - return; - } - if (cur->type == XML_ATTRIBUTE_NODE) { - xmlAttrDumpOutput(ctxt, (xmlAttrPtr) cur); - return; - } - if (cur->type == XML_NAMESPACE_DECL) { - xmlNsDumpOutputCtxt(ctxt, (xmlNsPtr) cur); - return; - } + case XML_PI_NODE: + if ((cur != root) && (ctxt->format == 1) && (xmlIndentTreeOutput)) + xmlOutputBufferWrite(buf, ctxt->indent_size * + (ctxt->level > ctxt->indent_nr ? + ctxt->indent_nr : ctxt->level), + ctxt->indent); + + if (cur->content != NULL) { + xmlOutputBufferWrite(buf, 2, "<?"); + xmlOutputBufferWriteString(buf, (const char *)cur->name); + if (cur->content != NULL) { + if (ctxt->format == 2) + xmlOutputBufferWriteWSNonSig(ctxt, 0); + else + xmlOutputBufferWrite(buf, 1, " "); + xmlOutputBufferWriteString(buf, + (const char *)cur->content); + } + xmlOutputBufferWrite(buf, 2, "?>"); + } else { + xmlOutputBufferWrite(buf, 2, "<?"); + xmlOutputBufferWriteString(buf, (const char *)cur->name); + if (ctxt->format == 2) + xmlOutputBufferWriteWSNonSig(ctxt, 0); + xmlOutputBufferWrite(buf, 2, "?>"); + } + break; + + case XML_COMMENT_NODE: + if ((cur != root) && (ctxt->format == 1) && (xmlIndentTreeOutput)) + xmlOutputBufferWrite(buf, ctxt->indent_size * + (ctxt->level > ctxt->indent_nr ? + ctxt->indent_nr : ctxt->level), + ctxt->indent); + + if (cur->content != NULL) { + xmlOutputBufferWrite(buf, 4, "<!--"); + xmlOutputBufferWriteString(buf, (const char *)cur->content); + xmlOutputBufferWrite(buf, 3, "-->"); + } + break; + + case XML_ENTITY_REF_NODE: + xmlOutputBufferWrite(buf, 1, "&"); + xmlOutputBufferWriteString(buf, (const char *)cur->name); + xmlOutputBufferWrite(buf, 1, ";"); + break; + + case XML_CDATA_SECTION_NODE: + if (cur->content == NULL || *cur->content == '\0') { + xmlOutputBufferWrite(buf, 12, "<![CDATA[]]>"); + } else { + start = end = cur->content; + while (*end != '\0') { + if ((*end == ']') && (*(end + 1) == ']') && + (*(end + 2) == '>')) { + end = end + 2; + xmlOutputBufferWrite(buf, 9, "<![CDATA["); + xmlOutputBufferWrite(buf, end - start, + (const char *)start); + xmlOutputBufferWrite(buf, 3, "]]>"); + start = end; + } + end++; + } + if (start != end) { + xmlOutputBufferWrite(buf, 9, "<![CDATA["); + xmlOutputBufferWriteString(buf, (const char *)start); + xmlOutputBufferWrite(buf, 3, "]]>"); + } + } + break; - format = ctxt->format; - if (format == 1) { - tmp = cur->children; - while (tmp != NULL) { - if ((tmp->type == XML_TEXT_NODE) || - (tmp->type == XML_CDATA_SECTION_NODE) || - (tmp->type == XML_ENTITY_REF_NODE)) { - ctxt->format = 0; - break; - } - tmp = tmp->next; - } - } - xmlOutputBufferWrite(buf, 1, "<"); - if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { - xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix); - xmlOutputBufferWrite(buf, 1, ":"); - } + case XML_ATTRIBUTE_NODE: + xmlAttrDumpOutput(ctxt, (xmlAttrPtr) cur); + break; - xmlOutputBufferWriteString(buf, (const char *)cur->name); - if (cur->nsDef) - xmlNsListDumpOutputCtxt(ctxt, cur->nsDef); - if (cur->properties != NULL) - xmlAttrListDumpOutput(ctxt, cur->properties); - - if (((cur->type == XML_ELEMENT_NODE) || (cur->content == NULL)) && - (cur->children == NULL) && ((ctxt->options & XML_SAVE_NO_EMPTY) == 0)) { - if (ctxt->format == 2) - xmlOutputBufferWriteWSNonSig(ctxt, 0); - xmlOutputBufferWrite(buf, 2, "/>"); - ctxt->format = format; - return; - } - if (ctxt->format == 2) - xmlOutputBufferWriteWSNonSig(ctxt, 1); - xmlOutputBufferWrite(buf, 1, ">"); - if ((cur->type != XML_ELEMENT_NODE) && (cur->content != NULL)) { - xmlOutputBufferWriteEscape(buf, cur->content, ctxt->escape); - } - if (cur->children != NULL) { - if (ctxt->format == 1) xmlOutputBufferWrite(buf, 1, "\n"); - if (ctxt->level >= 0) ctxt->level++; - xmlNodeListDumpOutput(ctxt, cur->children); - if (ctxt->level > 0) ctxt->level--; - if ((xmlIndentTreeOutput) && (ctxt->format == 1)) - xmlOutputBufferWrite(buf, ctxt->indent_size * - (ctxt->level > ctxt->indent_nr ? - ctxt->indent_nr : ctxt->level), - ctxt->indent); - } - xmlOutputBufferWrite(buf, 2, "</"); - if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { - xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix); - xmlOutputBufferWrite(buf, 1, ":"); - } + case XML_NAMESPACE_DECL: + xmlNsDumpOutputCtxt(ctxt, (xmlNsPtr) cur); + break; - xmlOutputBufferWriteString(buf, (const char *)cur->name); - if (ctxt->format == 2) - xmlOutputBufferWriteWSNonSig(ctxt, 0); - xmlOutputBufferWrite(buf, 1, ">"); - ctxt->format = format; + default: + break; + } + + while (1) { + if (cur == root) + return; + if (ctxt->format == 1) + xmlOutputBufferWrite(buf, 1, "\n"); + if (cur->next != NULL) { + cur = cur->next; + break; + } + + cur = cur->parent; + + if (cur->type == XML_ELEMENT_NODE) { + if (ctxt->level > 0) ctxt->level--; + if ((xmlIndentTreeOutput) && (ctxt->format == 1)) + xmlOutputBufferWrite(buf, ctxt->indent_size * + (ctxt->level > ctxt->indent_nr ? + ctxt->indent_nr : ctxt->level), + ctxt->indent); + + xmlOutputBufferWrite(buf, 2, "</"); + if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { + xmlOutputBufferWriteString(buf, + (const char *)cur->ns->prefix); + xmlOutputBufferWrite(buf, 1, ":"); + } + + xmlOutputBufferWriteString(buf, (const char *)cur->name); + if (ctxt->format == 2) + xmlOutputBufferWriteWSNonSig(ctxt, 0); + xmlOutputBufferWrite(buf, 1, ">"); + + if (cur == unformattedNode) { + ctxt->format = format; + unformattedNode = NULL; + } + } + } + } } /** @@ -1401,40 +1396,6 @@ xhtmlAttrListDumpOutput(xmlSaveCtxtPtr ctxt, xmlAttrPtr cur) { } /** - * xhtmlNodeListDumpOutput: - * @buf: the XML buffer output - * @doc: the XHTML document - * @cur: the first node - * @level: the imbrication level for indenting - * @format: is formatting allowed - * @encoding: an optional encoding string - * - * Dump an XML node list, recursive behaviour, children are printed too. - * Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 - * or xmlKeepBlanksDefault(0) was called - */ -static void -xhtmlNodeListDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { - xmlOutputBufferPtr buf; - - if (cur == NULL) return; - buf = ctxt->buf; - while (cur != NULL) { - if ((ctxt->format == 1) && (xmlIndentTreeOutput) && - (cur->type == XML_ELEMENT_NODE)) - xmlOutputBufferWrite(buf, ctxt->indent_size * - (ctxt->level > ctxt->indent_nr ? - ctxt->indent_nr : ctxt->level), - ctxt->indent); - xhtmlNodeDumpOutput(ctxt, cur); - if (ctxt->format == 1) { - xmlOutputBufferWrite(buf, 1, "\n"); - } - cur = cur->next; - } -} - -/** * xhtmlNodeDumpOutput: * @buf: the XML buffer output * @doc: the XHTML document @@ -1447,48 +1408,195 @@ xhtmlNodeListDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { */ static void xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { - int format, addmeta = 0; - xmlNodePtr tmp; + int format = ctxt->format, addmeta; + xmlNodePtr tmp, root, unformattedNode = NULL; xmlChar *start, *end; - xmlOutputBufferPtr buf; + xmlOutputBufferPtr buf = ctxt->buf; if (cur == NULL) return; - if ((cur->type == XML_DOCUMENT_NODE) || - (cur->type == XML_HTML_DOCUMENT_NODE)) { - xmlDocContentDumpOutput(ctxt, (xmlDocPtr) cur); - return; - } - if (cur->type == XML_XINCLUDE_START) - return; - if (cur->type == XML_XINCLUDE_END) - return; - if (cur->type == XML_NAMESPACE_DECL) { - xmlNsDumpOutputCtxt(ctxt, (xmlNsPtr) cur); - return; - } - if (cur->type == XML_DTD_NODE) { - xmlDtdDumpOutput(ctxt, (xmlDtdPtr) cur); - return; - } - if (cur->type == XML_DOCUMENT_FRAG_NODE) { - xhtmlNodeListDumpOutput(ctxt, cur->children); - return; - } - buf = ctxt->buf; - if (cur->type == XML_ELEMENT_DECL) { - xmlBufDumpElementDecl(buf->buffer, (xmlElementPtr) cur); - return; - } - if (cur->type == XML_ATTRIBUTE_DECL) { - xmlBufDumpAttributeDecl(buf->buffer, (xmlAttributePtr) cur); - return; - } - if (cur->type == XML_ENTITY_DECL) { - xmlBufDumpEntityDecl(buf->buffer, (xmlEntityPtr) cur); - return; - } - if (cur->type == XML_TEXT_NODE) { - if (cur->content != NULL) { + + root = cur; + while (1) { + switch (cur->type) { + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: + xmlDocContentDumpOutput(ctxt, (xmlDocPtr) cur); + break; + + case XML_NAMESPACE_DECL: + xmlNsDumpOutputCtxt(ctxt, (xmlNsPtr) cur); + break; + + case XML_DTD_NODE: + xmlDtdDumpOutput(ctxt, (xmlDtdPtr) cur); + break; + + case XML_DOCUMENT_FRAG_NODE: + if (cur->children) { + cur = cur->children; + continue; + } + break; + + case XML_ELEMENT_DECL: + xmlBufDumpElementDecl(buf->buffer, (xmlElementPtr) cur); + break; + + case XML_ATTRIBUTE_DECL: + xmlBufDumpAttributeDecl(buf->buffer, (xmlAttributePtr) cur); + break; + + case XML_ENTITY_DECL: + xmlBufDumpEntityDecl(buf->buffer, (xmlEntityPtr) cur); + break; + + case XML_ELEMENT_NODE: + addmeta = 0; + + if ((cur != root) && (ctxt->format == 1) && (xmlIndentTreeOutput)) + xmlOutputBufferWrite(buf, ctxt->indent_size * + (ctxt->level > ctxt->indent_nr ? + ctxt->indent_nr : ctxt->level), + ctxt->indent); + + xmlOutputBufferWrite(buf, 1, "<"); + if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { + xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix); + xmlOutputBufferWrite(buf, 1, ":"); + } + + xmlOutputBufferWriteString(buf, (const char *)cur->name); + if (cur->nsDef) + xmlNsListDumpOutputCtxt(ctxt, cur->nsDef); + if ((xmlStrEqual(cur->name, BAD_CAST "html") && + (cur->ns == NULL) && (cur->nsDef == NULL))) { + /* + * 3.1.1. Strictly Conforming Documents A.3.1.1 3/ + */ + xmlOutputBufferWriteString(buf, + " xmlns=\"http://www.w3.org/1999/xhtml\""); + } + if (cur->properties != NULL) + xhtmlAttrListDumpOutput(ctxt, cur->properties); + + if ((cur->parent != NULL) && + (cur->parent->parent == (xmlNodePtr) cur->doc) && + xmlStrEqual(cur->name, BAD_CAST"head") && + xmlStrEqual(cur->parent->name, BAD_CAST"html")) { + + tmp = cur->children; + while (tmp != NULL) { + if (xmlStrEqual(tmp->name, BAD_CAST"meta")) { + xmlChar *httpequiv; + + httpequiv = xmlGetProp(tmp, BAD_CAST"http-equiv"); + if (httpequiv != NULL) { + if (xmlStrcasecmp(httpequiv, + BAD_CAST"Content-Type") == 0) { + xmlFree(httpequiv); + break; + } + xmlFree(httpequiv); + } + } + tmp = tmp->next; + } + if (tmp == NULL) + addmeta = 1; + } + + if (cur->children == NULL) { + if (((cur->ns == NULL) || (cur->ns->prefix == NULL)) && + ((xhtmlIsEmpty(cur) == 1) && (addmeta == 0))) { + /* + * C.2. Empty Elements + */ + xmlOutputBufferWrite(buf, 3, " />"); + } else { + if (addmeta == 1) { + xmlOutputBufferWrite(buf, 1, ">"); + if (ctxt->format == 1) { + xmlOutputBufferWrite(buf, 1, "\n"); + if (xmlIndentTreeOutput) + xmlOutputBufferWrite(buf, ctxt->indent_size * + (ctxt->level + 1 > ctxt->indent_nr ? + ctxt->indent_nr : ctxt->level + 1), + ctxt->indent); + } + xmlOutputBufferWriteString(buf, + "<meta http-equiv=\"Content-Type\" " + "content=\"text/html; charset="); + if (ctxt->encoding) { + xmlOutputBufferWriteString(buf, + (const char *)ctxt->encoding); + } else { + xmlOutputBufferWrite(buf, 5, "UTF-8"); + } + xmlOutputBufferWrite(buf, 4, "\" />"); + if (ctxt->format == 1) + xmlOutputBufferWrite(buf, 1, "\n"); + } else { + xmlOutputBufferWrite(buf, 1, ">"); + } + /* + * C.3. Element Minimization and Empty Element Content + */ + xmlOutputBufferWrite(buf, 2, "</"); + if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { + xmlOutputBufferWriteString(buf, + (const char *)cur->ns->prefix); + xmlOutputBufferWrite(buf, 1, ":"); + } + xmlOutputBufferWriteString(buf, (const char *)cur->name); + xmlOutputBufferWrite(buf, 1, ">"); + } + } else { + xmlOutputBufferWrite(buf, 1, ">"); + if (addmeta == 1) { + if (ctxt->format == 1) { + xmlOutputBufferWrite(buf, 1, "\n"); + if (xmlIndentTreeOutput) + xmlOutputBufferWrite(buf, ctxt->indent_size * + (ctxt->level + 1 > ctxt->indent_nr ? + ctxt->indent_nr : ctxt->level + 1), + ctxt->indent); + } + xmlOutputBufferWriteString(buf, + "<meta http-equiv=\"Content-Type\" " + "content=\"text/html; charset="); + if (ctxt->encoding) { + xmlOutputBufferWriteString(buf, + (const char *)ctxt->encoding); + } else { + xmlOutputBufferWrite(buf, 5, "UTF-8"); + } + xmlOutputBufferWrite(buf, 4, "\" />"); + } + + if (ctxt->format == 1) { + tmp = cur->children; + while (tmp != NULL) { + if ((tmp->type == XML_TEXT_NODE) || + (tmp->type == XML_ENTITY_REF_NODE)) { + unformattedNode = cur; + ctxt->format = 0; + break; + } + tmp = tmp->next; + } + } + + if (ctxt->format == 1) xmlOutputBufferWrite(buf, 1, "\n"); + if (ctxt->level >= 0) ctxt->level++; + cur = cur->children; + continue; + } + + break; + + case XML_TEXT_NODE: + if (cur->content == NULL) + break; if ((cur->name == xmlStringText) || (cur->name != xmlStringTextNoenc)) { xmlOutputBufferWriteEscape(buf, cur->content, ctxt->escape); @@ -1498,286 +1606,109 @@ xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { */ xmlOutputBufferWriteString(buf, (const char *) cur->content); } - } - - return; - } - if (cur->type == XML_PI_NODE) { - if (cur->content != NULL) { - xmlOutputBufferWrite(buf, 2, "<?"); - xmlOutputBufferWriteString(buf, (const char *)cur->name); - if (cur->content != NULL) { - xmlOutputBufferWrite(buf, 1, " "); - xmlOutputBufferWriteString(buf, (const char *)cur->content); - } - xmlOutputBufferWrite(buf, 2, "?>"); - } else { - xmlOutputBufferWrite(buf, 2, "<?"); - xmlOutputBufferWriteString(buf, (const char *)cur->name); - xmlOutputBufferWrite(buf, 2, "?>"); - } - return; - } - if (cur->type == XML_COMMENT_NODE) { - if (cur->content != NULL) { - xmlOutputBufferWrite(buf, 4, "<!--"); - xmlOutputBufferWriteString(buf, (const char *)cur->content); - xmlOutputBufferWrite(buf, 3, "-->"); - } - return; - } - if (cur->type == XML_ENTITY_REF_NODE) { - xmlOutputBufferWrite(buf, 1, "&"); - xmlOutputBufferWriteString(buf, (const char *)cur->name); - xmlOutputBufferWrite(buf, 1, ";"); - return; - } - if (cur->type == XML_CDATA_SECTION_NODE) { - if (cur->content == NULL || *cur->content == '\0') { - xmlOutputBufferWrite(buf, 12, "<![CDATA[]]>"); - } else { - start = end = cur->content; - while (*end != '\0') { - if (*end == ']' && *(end + 1) == ']' && *(end + 2) == '>') { - end = end + 2; - xmlOutputBufferWrite(buf, 9, "<![CDATA["); - xmlOutputBufferWrite(buf, end - start, (const char *)start); - xmlOutputBufferWrite(buf, 3, "]]>"); - start = end; - } - end++; - } - if (start != end) { - xmlOutputBufferWrite(buf, 9, "<![CDATA["); - xmlOutputBufferWriteString(buf, (const char *)start); - xmlOutputBufferWrite(buf, 3, "]]>"); - } - } - return; - } - if (cur->type == XML_ATTRIBUTE_NODE) { - xmlAttrDumpOutput(ctxt, (xmlAttrPtr) cur); - return; - } + break; - format = ctxt->format; - if (format == 1) { - tmp = cur->children; - while (tmp != NULL) { - if ((tmp->type == XML_TEXT_NODE) || - (tmp->type == XML_ENTITY_REF_NODE)) { - format = 0; - break; - } - tmp = tmp->next; - } - } - xmlOutputBufferWrite(buf, 1, "<"); - if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { - xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix); - xmlOutputBufferWrite(buf, 1, ":"); - } + case XML_PI_NODE: + if (cur->content != NULL) { + xmlOutputBufferWrite(buf, 2, "<?"); + xmlOutputBufferWriteString(buf, (const char *)cur->name); + if (cur->content != NULL) { + xmlOutputBufferWrite(buf, 1, " "); + xmlOutputBufferWriteString(buf, + (const char *)cur->content); + } + xmlOutputBufferWrite(buf, 2, "?>"); + } else { + xmlOutputBufferWrite(buf, 2, "<?"); + xmlOutputBufferWriteString(buf, (const char *)cur->name); + xmlOutputBufferWrite(buf, 2, "?>"); + } + break; - xmlOutputBufferWriteString(buf, (const char *)cur->name); - if (cur->nsDef) - xmlNsListDumpOutputCtxt(ctxt, cur->nsDef); - if ((xmlStrEqual(cur->name, BAD_CAST "html") && - (cur->ns == NULL) && (cur->nsDef == NULL))) { - /* - * 3.1.1. Strictly Conforming Documents A.3.1.1 3/ - */ - xmlOutputBufferWriteString(buf, - " xmlns=\"http://www.w3.org/1999/xhtml\""); - } - if (cur->properties != NULL) - xhtmlAttrListDumpOutput(ctxt, cur->properties); - - if ((cur->type == XML_ELEMENT_NODE) && - (cur->parent != NULL) && - (cur->parent->parent == (xmlNodePtr) cur->doc) && - xmlStrEqual(cur->name, BAD_CAST"head") && - xmlStrEqual(cur->parent->name, BAD_CAST"html")) { - - tmp = cur->children; - while (tmp != NULL) { - if (xmlStrEqual(tmp->name, BAD_CAST"meta")) { - xmlChar *httpequiv; - - httpequiv = xmlGetProp(tmp, BAD_CAST"http-equiv"); - if (httpequiv != NULL) { - if (xmlStrcasecmp(httpequiv, BAD_CAST"Content-Type") == 0) { - xmlFree(httpequiv); - break; + case XML_COMMENT_NODE: + if (cur->content != NULL) { + xmlOutputBufferWrite(buf, 4, "<!--"); + xmlOutputBufferWriteString(buf, (const char *)cur->content); + xmlOutputBufferWrite(buf, 3, "-->"); + } + break; + + case XML_ENTITY_REF_NODE: + xmlOutputBufferWrite(buf, 1, "&"); + xmlOutputBufferWriteString(buf, (const char *)cur->name); + xmlOutputBufferWrite(buf, 1, ";"); + break; + + case XML_CDATA_SECTION_NODE: + if (cur->content == NULL || *cur->content == '\0') { + xmlOutputBufferWrite(buf, 12, "<![CDATA[]]>"); + } else { + start = end = cur->content; + while (*end != '\0') { + if (*end == ']' && *(end + 1) == ']' && + *(end + 2) == '>') { + end = end + 2; + xmlOutputBufferWrite(buf, 9, "<![CDATA["); + xmlOutputBufferWrite(buf, end - start, + (const char *)start); + xmlOutputBufferWrite(buf, 3, "]]>"); + start = end; } - xmlFree(httpequiv); + end++; + } + if (start != end) { + xmlOutputBufferWrite(buf, 9, "<![CDATA["); + xmlOutputBufferWriteString(buf, (const char *)start); + xmlOutputBufferWrite(buf, 3, "]]>"); } } - tmp = tmp->next; + break; + + case XML_ATTRIBUTE_NODE: + xmlAttrDumpOutput(ctxt, (xmlAttrPtr) cur); + break; + + default: + break; } - if (tmp == NULL) - addmeta = 1; - } - if ((cur->type == XML_ELEMENT_NODE) && (cur->children == NULL)) { - if (((cur->ns == NULL) || (cur->ns->prefix == NULL)) && - ((xhtmlIsEmpty(cur) == 1) && (addmeta == 0))) { - /* - * C.2. Empty Elements - */ - xmlOutputBufferWrite(buf, 3, " />"); - } else { - if (addmeta == 1) { - xmlOutputBufferWrite(buf, 1, ">"); - if (ctxt->format == 1) { - xmlOutputBufferWrite(buf, 1, "\n"); - if (xmlIndentTreeOutput) - xmlOutputBufferWrite(buf, ctxt->indent_size * - (ctxt->level + 1 > ctxt->indent_nr ? - ctxt->indent_nr : ctxt->level + 1), ctxt->indent); - } - xmlOutputBufferWriteString(buf, - "<meta http-equiv=\"Content-Type\" content=\"text/html; charset="); - if (ctxt->encoding) { - xmlOutputBufferWriteString(buf, (const char *)ctxt->encoding); - } else { - xmlOutputBufferWrite(buf, 5, "UTF-8"); - } - xmlOutputBufferWrite(buf, 4, "\" />"); - if (ctxt->format == 1) - xmlOutputBufferWrite(buf, 1, "\n"); - } else { - xmlOutputBufferWrite(buf, 1, ">"); - } - /* - * C.3. Element Minimization and Empty Element Content - */ - xmlOutputBufferWrite(buf, 2, "</"); - if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { - xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix); - xmlOutputBufferWrite(buf, 1, ":"); - } - xmlOutputBufferWriteString(buf, (const char *)cur->name); - xmlOutputBufferWrite(buf, 1, ">"); - } - return; - } - xmlOutputBufferWrite(buf, 1, ">"); - if (addmeta == 1) { - if (ctxt->format == 1) { - xmlOutputBufferWrite(buf, 1, "\n"); - if (xmlIndentTreeOutput) - xmlOutputBufferWrite(buf, ctxt->indent_size * - (ctxt->level + 1 > ctxt->indent_nr ? - ctxt->indent_nr : ctxt->level + 1), ctxt->indent); - } - xmlOutputBufferWriteString(buf, - "<meta http-equiv=\"Content-Type\" content=\"text/html; charset="); - if (ctxt->encoding) { - xmlOutputBufferWriteString(buf, (const char *)ctxt->encoding); - } else { - xmlOutputBufferWrite(buf, 5, "UTF-8"); - } - xmlOutputBufferWrite(buf, 4, "\" />"); - } - if ((cur->type != XML_ELEMENT_NODE) && (cur->content != NULL)) { - xmlOutputBufferWriteEscape(buf, cur->content, ctxt->escape); - } + while (1) { + if (cur == root) + return; + if (ctxt->format == 1) + xmlOutputBufferWrite(buf, 1, "\n"); + if (cur->next != NULL) { + cur = cur->next; + break; + } -#if 0 - /* - * This was removed due to problems with HTML processors. - * See bug #345147. - */ - /* - * 4.8. Script and Style elements - */ - if ((cur->type == XML_ELEMENT_NODE) && - ((xmlStrEqual(cur->name, BAD_CAST "script")) || - (xmlStrEqual(cur->name, BAD_CAST "style"))) && - ((cur->ns == NULL) || - (xmlStrEqual(cur->ns->href, XHTML_NS_NAME)))) { - xmlNodePtr child = cur->children; - - while (child != NULL) { - if (child->type == XML_TEXT_NODE) { - if ((xmlStrchr(child->content, '<') == NULL) && - (xmlStrchr(child->content, '&') == NULL) && - (xmlStrstr(child->content, BAD_CAST "]]>") == NULL)) { - /* Nothing to escape, so just output as is... */ - /* FIXME: Should we do something about "--" also? */ - int level = ctxt->level; - int indent = ctxt->format; - - ctxt->level = 0; - ctxt->format = 0; - xmlOutputBufferWriteString(buf, (const char *) child->content); - /* (We cannot use xhtmlNodeDumpOutput() here because - * we wish to leave '>' unescaped!) */ - ctxt->level = level; - ctxt->format = indent; - } else { - /* We must use a CDATA section. Unfortunately, - * this will break CSS and JavaScript when read by - * a browser in HTML4-compliant mode. :-( */ - start = end = child->content; - while (*end != '\0') { - if (*end == ']' && - *(end + 1) == ']' && - *(end + 2) == '>') { - end = end + 2; - xmlOutputBufferWrite(buf, 9, "<![CDATA["); - xmlOutputBufferWrite(buf, end - start, - (const char *)start); - xmlOutputBufferWrite(buf, 3, "]]>"); - start = end; - } - end++; - } - if (start != end) { - xmlOutputBufferWrite(buf, 9, "<![CDATA["); - xmlOutputBufferWrite(buf, end - start, - (const char *)start); - xmlOutputBufferWrite(buf, 3, "]]>"); - } - } - } else { - int level = ctxt->level; - int indent = ctxt->format; + cur = cur->parent; + + if (cur->type == XML_ELEMENT_NODE) { + if (ctxt->level > 0) ctxt->level--; + if ((xmlIndentTreeOutput) && (ctxt->format == 1)) + xmlOutputBufferWrite(buf, ctxt->indent_size * + (ctxt->level > ctxt->indent_nr ? + ctxt->indent_nr : ctxt->level), + ctxt->indent); + + xmlOutputBufferWrite(buf, 2, "</"); + if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { + xmlOutputBufferWriteString(buf, + (const char *)cur->ns->prefix); + xmlOutputBufferWrite(buf, 1, ":"); + } - ctxt->level = 0; - ctxt->format = 0; - xhtmlNodeDumpOutput(ctxt, child); - ctxt->level = level; - ctxt->format = indent; - } - child = child->next; - } - } -#endif + xmlOutputBufferWriteString(buf, (const char *)cur->name); + xmlOutputBufferWrite(buf, 1, ">"); - if (cur->children != NULL) { - int indent = ctxt->format; - - if (format == 1) xmlOutputBufferWrite(buf, 1, "\n"); - if (ctxt->level >= 0) ctxt->level++; - ctxt->format = format; - xhtmlNodeListDumpOutput(ctxt, cur->children); - if (ctxt->level > 0) ctxt->level--; - ctxt->format = indent; - if ((xmlIndentTreeOutput) && (format == 1)) - xmlOutputBufferWrite(buf, ctxt->indent_size * - (ctxt->level > ctxt->indent_nr ? - ctxt->indent_nr : ctxt->level), - ctxt->indent); - } - xmlOutputBufferWrite(buf, 2, "</"); - if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { - xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix); - xmlOutputBufferWrite(buf, 1, ":"); + if (cur == unformattedNode) { + ctxt->format = format; + unformattedNode = NULL; + } + } + } } - - xmlOutputBufferWriteString(buf, (const char *)cur->name); - xmlOutputBufferWrite(buf, 1, ">"); } #endif @@ -1807,6 +1738,7 @@ xmlSaveToFd(int fd, const char *encoding, int options) if (ret == NULL) return(NULL); ret->buf = xmlOutputBufferCreateFd(fd, ret->handler); if (ret->buf == NULL) { + xmlCharEncCloseFunc(ret->handler); xmlFreeSaveCtxt(ret); return(NULL); } @@ -1836,6 +1768,7 @@ xmlSaveToFilename(const char *filename, const char *encoding, int options) ret->buf = xmlOutputBufferCreateFilename(filename, ret->handler, compression); if (ret->buf == NULL) { + xmlCharEncCloseFunc(ret->handler); xmlFreeSaveCtxt(ret); return(NULL); } @@ -1858,28 +1791,15 @@ xmlSaveCtxtPtr xmlSaveToBuffer(xmlBufferPtr buffer, const char *encoding, int options) { xmlSaveCtxtPtr ret; - xmlOutputBufferPtr out_buff; - xmlCharEncodingHandlerPtr handler; ret = xmlNewSaveCtxt(encoding, options); if (ret == NULL) return(NULL); - - if (encoding != NULL) { - handler = xmlFindCharEncodingHandler(encoding); - if (handler == NULL) { - xmlFree(ret); - return(NULL); - } - } else - handler = NULL; - out_buff = xmlOutputBufferCreateBuffer(buffer, handler); - if (out_buff == NULL) { - xmlFree(ret); - if (handler) xmlCharEncCloseFunc(handler); - return(NULL); + ret->buf = xmlOutputBufferCreateBuffer(buffer, ret->handler); + if (ret->buf == NULL) { + xmlCharEncCloseFunc(ret->handler); + xmlFreeSaveCtxt(ret); + return(NULL); } - - ret->buf = out_buff; return(ret); } @@ -1907,6 +1827,7 @@ xmlSaveToIO(xmlOutputWriteCallback iowrite, if (ret == NULL) return(NULL); ret->buf = xmlOutputBufferCreateIO(iowrite, ioclose, ioctx, ret->handler); if (ret->buf == NULL) { + xmlCharEncCloseFunc(ret->handler); xmlFreeSaveCtxt(ret); return(NULL); } @@ -1947,12 +1868,25 @@ xmlSaveDoc(xmlSaveCtxtPtr ctxt, xmlDocPtr doc) * Returns the number of byte written or -1 in case of error */ long -xmlSaveTree(xmlSaveCtxtPtr ctxt, xmlNodePtr node) +xmlSaveTree(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { long ret = 0; - if ((ctxt == NULL) || (node == NULL)) return(-1); - xmlNodeDumpOutputInternal(ctxt, node); + if ((ctxt == NULL) || (cur == NULL)) return(-1); +#ifdef LIBXML_HTML_ENABLED + if (ctxt->options & XML_SAVE_XHTML) { + xhtmlNodeDumpOutput(ctxt, cur); + return(ret); + } + if (((cur->type != XML_NAMESPACE_DECL) && (cur->doc != NULL) && + (cur->doc->type == XML_HTML_DOCUMENT_NODE) && + ((ctxt->options & XML_SAVE_AS_XML) == 0)) || + (ctxt->options & XML_SAVE_AS_HTML)) { + htmlNodeDumpOutputInternal(ctxt, cur); + return(ret); + } +#endif + xmlNodeDumpOutputInternal(ctxt, cur); return(ret); } @@ -2191,9 +2125,9 @@ xmlAttrSerializeTxtContent(xmlBufferPtr buf, xmlDocPtr doc, * * Dump an XML node, recursive behaviour,children are printed too. * Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 - * or xmlKeepBlanksDefault(0) was called + * or xmlKeepBlanksDefault(0) was called. * Since this is using xmlBuffer structures it is limited to 2GB and somehow - * deprecated, use xmlBufNodeDump() instead. + * deprecated, use xmlNodeDumpOutput() instead. * * Returns the number of bytes written to the buffer or -1 in case of error */ @@ -2202,7 +2136,7 @@ xmlNodeDump(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur, int level, int format) { xmlBufPtr buffer; - int ret; + size_t ret; if ((buf == NULL) || (cur == NULL)) return(-1); @@ -2360,7 +2294,6 @@ xmlNodeDumpOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur, encoding = "UTF-8"; memset(&ctxt, 0, sizeof(ctxt)); - ctxt.doc = doc; ctxt.buf = buf; ctxt.level = level; ctxt.format = format ? 1 : 0; @@ -2446,7 +2379,6 @@ xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc, xmlChar **doc_txt_ptr, } memset(&ctxt, 0, sizeof(ctxt)); - ctxt.doc = out_doc; ctxt.buf = out_buff; ctxt.level = 0; ctxt.format = format ? 1 : 0; @@ -2565,7 +2497,6 @@ xmlDocFormatDump(FILE *f, xmlDocPtr cur, int format) { buf = xmlOutputBufferCreateFile(f, handler); if (buf == NULL) return(-1); memset(&ctxt, 0, sizeof(ctxt)); - ctxt.doc = cur; ctxt.buf = buf; ctxt.level = 0; ctxt.format = format ? 1 : 0; @@ -2596,7 +2527,7 @@ xmlDocDump(FILE *f, xmlDocPtr cur) { * xmlSaveFileTo: * @buf: an output I/O buffer * @cur: the document - * @encoding: the encoding if any assuming the I/O layer handles the trancoding + * @encoding: the encoding if any assuming the I/O layer handles the transcoding * * Dump an XML document to an I/O buffer. * Warning ! This call xmlOutputBufferClose() on buf which is not available @@ -2615,7 +2546,6 @@ xmlSaveFileTo(xmlOutputBufferPtr buf, xmlDocPtr cur, const char *encoding) { return(-1); } memset(&ctxt, 0, sizeof(ctxt)); - ctxt.doc = cur; ctxt.buf = buf; ctxt.level = 0; ctxt.format = 0; @@ -2631,7 +2561,7 @@ xmlSaveFileTo(xmlOutputBufferPtr buf, xmlDocPtr cur, const char *encoding) { * xmlSaveFormatFileTo: * @buf: an output I/O buffer * @cur: the document - * @encoding: the encoding if any assuming the I/O layer handles the trancoding + * @encoding: the encoding if any assuming the I/O layer handles the transcoding * @format: should formatting spaces been added * * Dump an XML document to an I/O buffer. @@ -2655,7 +2585,6 @@ xmlSaveFormatFileTo(xmlOutputBufferPtr buf, xmlDocPtr cur, return(-1); } memset(&ctxt, 0, sizeof(ctxt)); - ctxt.doc = cur; ctxt.buf = buf; ctxt.level = 0; ctxt.format = format ? 1 : 0; @@ -2710,7 +2639,6 @@ xmlSaveFormatFileEnc( const char * filename, xmlDocPtr cur, buf = xmlOutputBufferCreateFilename(filename, handler, cur->compression); if (buf == NULL) return(-1); memset(&ctxt, 0, sizeof(ctxt)); - ctxt.doc = cur; ctxt.buf = buf; ctxt.level = 0; ctxt.format = format ? 1 : 0; diff --git a/xmlschemas.c b/xmlschemas.c index 019988aa..cc200636 100644 --- a/xmlschemas.c +++ b/xmlschemas.c @@ -22,7 +22,7 @@ * acquisition episode (xmlSchemaAugmentIDC). * * NOTES: - * - Elimated item creation for: <restriction>, <extension>, + * - Eliminated item creation for: <restriction>, <extension>, * <simpleContent>, <complexContent>, <list>, <union> * * PROBLEMS: @@ -1002,11 +1002,11 @@ struct _xmlSchemaValidCtxt { int xsiAssemble; int depth; - xmlSchemaNodeInfoPtr *elemInfos; /* array of element informations */ + xmlSchemaNodeInfoPtr *elemInfos; /* array of element information */ int sizeElemInfos; xmlSchemaNodeInfoPtr inode; /* the current element information */ - xmlSchemaIDCAugPtr aidcs; /* a list of augmented IDC informations */ + xmlSchemaIDCAugPtr aidcs; /* a list of augmented IDC information */ xmlSchemaIDCStateObjPtr xpathStates; /* first active state object. */ xmlSchemaIDCStateObjPtr xpathStatePool; /* first stored state object. */ @@ -1873,7 +1873,7 @@ xmlSchemaPSimpleErr(const char *msg) /** * xmlSchemaPErrMemory: * @node: a context node - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -1995,7 +1995,7 @@ xmlSchemaPErrExt(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node, int error, /** * xmlSchemaVTypeErrMemory: * @node: a context node - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -2780,8 +2780,6 @@ xmlSchemaFacetErr(xmlSchemaAbstractCtxtPtr actxt, /** * xmlSchemaPMissingAttrErr: * @ctxt: the schema validation context - * @ownerDes: the designation of the owner - * @ownerName: the name of the owner * @ownerItem: the owner as a schema object * @ownerElem: the owner as an element node * @node: the parent element node of the missing attribute node @@ -2815,7 +2813,6 @@ xmlSchemaPMissingAttrErr(xmlSchemaParserCtxtPtr ctxt, * xmlSchemaPResCompAttrErr: * @ctxt: the schema validation context * @error: the error code - * @ownerDes: the designation of the owner * @ownerItem: the owner as a schema object * @ownerElem: the owner as an element node * @name: the name of the attribute holding the QName @@ -2897,7 +2894,6 @@ xmlSchemaPCustomAttrErr(xmlSchemaParserCtxtPtr ctxt, * xmlSchemaPIllegalAttrErr: * @ctxt: the schema parser context * @error: the error code - * @ownerDes: the designation of the attribute's owner * @ownerItem: the attribute's owner item * @attr: the illegal attribute node * @@ -3109,7 +3105,6 @@ xmlSchemaPMutualExclAttrErr(xmlSchemaParserCtxtPtr ctxt, * @ctxt: the schema validation context * @error: the error code * @type: the type specifier - * @ownerDes: the designation of the owner * @ownerItem: the schema object if existent * @node: the validated node * @value: the validated value @@ -3202,7 +3197,6 @@ xmlSchemaPSimpleTypeErr(xmlSchemaParserCtxtPtr ctxt, * xmlSchemaPContentErr: * @ctxt: the schema parser context * @error: the error code - * @onwerDes: the designation of the holder of the content * @ownerItem: the owner item of the holder of the content * @ownerElem: the node of the holder of the content * @child: the invalid child node @@ -4307,7 +4301,7 @@ xmlSchemaAnnotDump(FILE * output, xmlSchemaAnnotPtr annot) * xmlSchemaContentModelDump: * @particle: the schema particle * @output: the file output - * @depth: the depth used for intentation + * @depth: the depth used for indentation * * Dump a SchemaType structure */ @@ -5155,7 +5149,7 @@ subschemas: * Add an XML schema annotation declaration * *WARNING* this interface is highly subject to change * - * Returns the new struture or NULL in case of error + * Returns the new structure or NULL in case of error */ static xmlSchemaNotationPtr xmlSchemaAddNotation(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, @@ -5189,10 +5183,10 @@ xmlSchemaAddNotation(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, * @name: the item name * @namespace: the namespace * - * Add an XML schema Attrribute declaration + * Add an XML schema Attribute declaration * *WARNING* this interface is highly subject to change * - * Returns the new struture or NULL in case of error + * Returns the new structure or NULL in case of error */ static xmlSchemaAttributePtr xmlSchemaAddAttribute(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, @@ -5230,10 +5224,10 @@ xmlSchemaAddAttribute(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, * @name: the item name * @namespace: the namespace * - * Add an XML schema Attrribute declaration + * Add an XML schema Attribute declaration * *WARNING* this interface is highly subject to change * - * Returns the new struture or NULL in case of error + * Returns the new structure or NULL in case of error */ static xmlSchemaAttributeUsePtr xmlSchemaAddAttributeUse(xmlSchemaParserCtxtPtr pctxt, @@ -5301,9 +5295,9 @@ xmlSchemaAddRedef(xmlSchemaParserCtxtPtr pctxt, * @nsName: the target namespace * @node: the corresponding node * - * Add an XML schema Attrribute Group definition. + * Add an XML schema Attribute Group definition. * - * Returns the new struture or NULL in case of error + * Returns the new structure or NULL in case of error */ static xmlSchemaAttributeGroupPtr xmlSchemaAddAttributeGroupDefinition(xmlSchemaParserCtxtPtr pctxt, @@ -5355,7 +5349,7 @@ xmlSchemaAddAttributeGroupDefinition(xmlSchemaParserCtxtPtr pctxt, * Add an XML schema Element declaration * *WARNING* this interface is highly subject to change * - * Returns the new struture or NULL in case of error + * Returns the new structure or NULL in case of error */ static xmlSchemaElementPtr xmlSchemaAddElement(xmlSchemaParserCtxtPtr ctxt, @@ -5396,7 +5390,7 @@ xmlSchemaAddElement(xmlSchemaParserCtxtPtr ctxt, * Add an XML schema item * *WARNING* this interface is highly subject to change * - * Returns the new struture or NULL in case of error + * Returns the new structure or NULL in case of error */ static xmlSchemaTypePtr xmlSchemaAddType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, @@ -5493,7 +5487,7 @@ xmlSchemaAddAttributeUseProhib(xmlSchemaParserCtxtPtr pctxt) * Adds a schema model group * *WARNING* this interface is highly subject to change * - * Returns the new struture or NULL in case of error + * Returns the new structure or NULL in case of error */ static xmlSchemaModelGroupPtr xmlSchemaAddModelGroup(xmlSchemaParserCtxtPtr ctxt, @@ -5535,7 +5529,7 @@ xmlSchemaAddModelGroup(xmlSchemaParserCtxtPtr ctxt, * Adds an XML schema particle component. * *WARNING* this interface is highly subject to change * - * Returns the new struture or NULL in case of error + * Returns the new structure or NULL in case of error */ static xmlSchemaParticlePtr xmlSchemaAddParticle(xmlSchemaParserCtxtPtr ctxt, @@ -5581,7 +5575,7 @@ xmlSchemaAddParticle(xmlSchemaParserCtxtPtr ctxt, * * Add an XML schema Group definition * - * Returns the new struture or NULL in case of error + * Returns the new structure or NULL in case of error */ static xmlSchemaModelGroupDefPtr xmlSchemaAddModelGroupDefinition(xmlSchemaParserCtxtPtr ctxt, @@ -5627,7 +5621,7 @@ xmlSchemaAddModelGroupDefinition(xmlSchemaParserCtxtPtr ctxt, * * Creates a new wildcard namespace constraint. * - * Returns the new struture or NULL in case of error + * Returns the new structure or NULL in case of error */ static xmlSchemaWildcardNsPtr xmlSchemaNewWildcardNsConstraint(xmlSchemaParserCtxtPtr ctxt) @@ -5685,7 +5679,7 @@ xmlSchemaAddIDC(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, * Adds a wildcard. * It corresponds to a xsd:anyAttribute and xsd:any. * - * Returns the new struture or NULL in case of error + * Returns the new structure or NULL in case of error */ static xmlSchemaWildcardPtr xmlSchemaAddWildcard(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, @@ -5813,11 +5807,10 @@ xmlSchemaAddElementSubstitutionMember(xmlSchemaParserCtxtPtr pctxt, * xmlSchemaPValAttrNodeQNameValue: * @ctxt: a schema parser context * @schema: the schema context - * @ownerDes: the designation of the parent element * @ownerItem: the parent as a schema object * @value: the QName value - * @local: the resulting local part if found, the attribute value otherwise * @uri: the resulting namespace URI if found + * @local: the resulting local part if found, the attribute value otherwise * * Extracts the local name and the URI of a QName value and validates it. * This one is intended to be used on attribute values that @@ -5894,11 +5887,10 @@ xmlSchemaPValAttrNodeQNameValue(xmlSchemaParserCtxtPtr ctxt, * xmlSchemaPValAttrNodeQName: * @ctxt: a schema parser context * @schema: the schema context - * @ownerDes: the designation of the owner element * @ownerItem: the owner as a schema object * @attr: the attribute node - * @local: the resulting local part if found, the attribute value otherwise * @uri: the resulting namespace URI if found + * @local: the resulting local part if found, the attribute value otherwise * * Extracts and validates the QName of an attribute value. * This one is intended to be used on attribute values that @@ -5926,12 +5918,11 @@ xmlSchemaPValAttrNodeQName(xmlSchemaParserCtxtPtr ctxt, * xmlSchemaPValAttrQName: * @ctxt: a schema parser context * @schema: the schema context - * @ownerDes: the designation of the parent element * @ownerItem: the owner as a schema object * @ownerElem: the parent node of the attribute * @name: the name of the attribute - * @local: the resulting local part if found, the attribute value otherwise * @uri: the resulting namespace URI if found + * @local: the resulting local part if found, the attribute value otherwise * * Extracts and validates the QName of an attribute value. * @@ -5962,11 +5953,6 @@ xmlSchemaPValAttrQName(xmlSchemaParserCtxtPtr ctxt, /** * xmlSchemaPValAttrID: * @ctxt: a schema parser context - * @schema: the schema context - * @ownerDes: the designation of the parent element - * @ownerItem: the owner as a schema object - * @ownerElem: the parent node of the attribute - * @name: the name of the attribute * * Extracts and validates the ID of an attribute value. * @@ -6045,7 +6031,7 @@ xmlSchemaPValAttrID(xmlSchemaParserCtxtPtr ctxt, /** * xmlGetMaxOccurs: * @ctxt: a schema validation context - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * Get the maxOccurs property * @@ -6088,7 +6074,16 @@ xmlGetMaxOccurs(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node, return (def); } while ((*cur >= '0') && (*cur <= '9')) { - ret = ret * 10 + (*cur - '0'); + if (ret > INT_MAX / 10) { + ret = INT_MAX; + } else { + int digit = *cur - '0'; + ret *= 10; + if (ret > INT_MAX - digit) + ret = INT_MAX; + else + ret += digit; + } cur++; } while (IS_BLANK_CH(*cur)) @@ -6110,7 +6105,7 @@ xmlGetMaxOccurs(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node, /** * xmlGetMinOccurs: * @ctxt: a schema validation context - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * Get the minOccurs property * @@ -6140,7 +6135,16 @@ xmlGetMinOccurs(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node, return (def); } while ((*cur >= '0') && (*cur <= '9')) { - ret = ret * 10 + (*cur - '0'); + if (ret > INT_MAX / 10) { + ret = INT_MAX; + } else { + int digit = *cur - '0'; + ret *= 10; + if (ret > INT_MAX - digit) + ret = INT_MAX; + else + ret += digit; + } cur++; } while (IS_BLANK_CH(*cur)) @@ -6162,7 +6166,6 @@ xmlGetMinOccurs(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node, /** * xmlSchemaPGetBoolNodeValue: * @ctxt: a schema validation context - * @ownerDes: owner designation * @ownerItem: the owner as a schema item * @node: the node holding the value * @@ -6208,7 +6211,7 @@ xmlSchemaPGetBoolNodeValue(xmlSchemaParserCtxtPtr ctxt, /** * xmlGetBooleanProp: * @ctxt: a schema validation context - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * @name: the attribute name * @def: the default value * @@ -6253,7 +6256,7 @@ xmlGetBooleanProp(xmlSchemaParserCtxtPtr ctxt, /************************************************************************ * * - * Shema extraction from an Infoset * + * Schema extraction from an Infoset * * * ************************************************************************/ static xmlSchemaTypePtr xmlSchemaParseSimpleType(xmlSchemaParserCtxtPtr @@ -6286,8 +6289,7 @@ xmlSchemaParseAnyAttribute(xmlSchemaParserCtxtPtr ctxt, /** * xmlSchemaPValAttrNodeValue: * - * @ctxt: a schema parser context - * @ownerDes: the designation of the parent element + * @pctxt: a schema parser context * @ownerItem: the schema object owner if existent * @attr: the schema attribute node being validated * @value: the value @@ -6360,7 +6362,6 @@ xmlSchemaPValAttrNodeValue(xmlSchemaParserCtxtPtr pctxt, * xmlSchemaPValAttrNode: * * @ctxt: a schema parser context - * @ownerDes: the designation of the parent element * @ownerItem: the schema object owner if existent * @attr: the schema attribute node being validated * @type: the built-in type to be validated against @@ -6398,7 +6399,6 @@ xmlSchemaPValAttrNode(xmlSchemaParserCtxtPtr ctxt, * * @ctxt: a schema parser context * @node: the element node of the attribute - * @ownerDes: the designation of the parent element * @ownerItem: the schema object owner if existent * @ownerElem: the owner element node * @name: the name of the schema attribute node @@ -6499,7 +6499,7 @@ xmlSchemaCheckReference(xmlSchemaParserCtxtPtr pctxt, * xmlSchemaParseLocalAttributes: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * @type: the hosting type where the attributes will be anchored * * Parses attribute uses and attribute declarations and @@ -6541,9 +6541,9 @@ xmlSchemaParseLocalAttributes(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, * xmlSchemaParseAnnotation: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * - * parse a XML schema Attrribute declaration + * parse a XML schema Attribute declaration * *WARNING* this interface is highly subject to change * * Returns -1 in case of error, 0 if the declaration is improper and @@ -6661,7 +6661,7 @@ xmlSchemaParseAnnotation(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node, int neede * xmlSchemaParseFacet: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * parse a XML schema Facet declaration * *WARNING* this interface is highly subject to change @@ -6752,7 +6752,7 @@ xmlSchemaParseFacet(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, * xmlSchemaParseWildcardNs: * @ctxt: a schema parser context * @wildc: the wildcard, already created - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * Parses the attribute "processContents" and "namespace" * of a xsd:anyAttribute and xsd:any. @@ -6840,7 +6840,7 @@ xmlSchemaParseWildcardNs(xmlSchemaParserCtxtPtr ctxt, dictnsItem = xmlDictLookup(ctxt->dict, nsItem, -1); } /* - * Avoid dublicate namespaces. + * Avoid duplicate namespaces. */ tmp = wildc->nsSet; while (tmp != NULL) { @@ -6919,7 +6919,7 @@ xmlSchemaPCheckParticleCorrect_2(xmlSchemaParserCtxtPtr ctxt, * xmlSchemaParseAny: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * Parsea a XML schema <any> element. A particle and wildcard * will be created (except if minOccurs==maxOccurs==0, in this case @@ -7014,7 +7014,7 @@ xmlSchemaParseAny(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, * xmlSchemaParseNotation: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * parse a XML schema Notation declaration * @@ -7061,9 +7061,9 @@ xmlSchemaParseNotation(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, * xmlSchemaParseAnyAttribute: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * - * parse a XML schema AnyAttrribute declaration + * parse a XML schema AnyAttribute declaration * *WARNING* this interface is highly subject to change * * Returns a wildcard or NULL. @@ -7131,9 +7131,9 @@ xmlSchemaParseAnyAttribute(xmlSchemaParserCtxtPtr ctxt, * xmlSchemaParseAttribute: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * - * parse a XML schema Attrribute declaration + * parse a XML schema Attribute declaration * *WARNING* this interface is highly subject to change * * Returns the attribute declaration. @@ -7674,7 +7674,7 @@ xmlSchemaParseGlobalAttribute(xmlSchemaParserCtxtPtr pctxt, * xmlSchemaParseAttributeGroupRef: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * Parse an attribute group definition reference. * Note that a reference to an attribute group does not @@ -7807,7 +7807,7 @@ xmlSchemaParseAttributeGroupRef(xmlSchemaParserCtxtPtr pctxt, * xmlSchemaParseAttributeGroupDefinition: * @pctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * parse a XML schema Attribute Group declaration * *WARNING* this interface is highly subject to change @@ -7953,7 +7953,7 @@ xmlSchemaPValAttrBlockFinal(const xmlChar *value, int ret = 0; /* - * TODO: This does not check for dublicate entries. + * TODO: This does not check for duplicate entries. */ if ((flags == NULL) || (value == NULL)) return (-1); @@ -8145,7 +8145,7 @@ xmlSchemaCheckCSelectorXPath(xmlSchemaParserCtxtPtr ctxt, * * Adds the annotation to the given schema component. * - * Returns the given annotaion. + * Returns the given annotation. */ static xmlSchemaAnnotPtr xmlSchemaAddAnnotation(xmlSchemaAnnotItemPtr annItem, @@ -8238,9 +8238,9 @@ xmlSchemaAddAnnotation(xmlSchemaAnnotItemPtr annItem, * xmlSchemaParseIDCSelectorAndField: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * - * Parses a XML Schema identity-contraint definition's + * Parses a XML Schema identity-constraint definition's * <selector> and <field> elements. * * Returns the parsed identity-constraint definition. @@ -8336,9 +8336,9 @@ xmlSchemaParseIDCSelectorAndField(xmlSchemaParserCtxtPtr ctxt, * xmlSchemaParseIDC: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * - * Parses a XML Schema identity-contraint definition. + * Parses a XML Schema identity-constraint definition. * * Returns the parsed identity-constraint definition. */ @@ -8483,7 +8483,7 @@ xmlSchemaParseIDC(xmlSchemaParserCtxtPtr ctxt, * xmlSchemaParseElement: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * @topLevel: indicates if this is global declaration * * Parses a XML schema element declaration. @@ -8882,7 +8882,7 @@ return_null: * xmlSchemaParseUnion: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * parse a XML schema Union definition * *WARNING* this interface is highly subject to change @@ -9051,7 +9051,7 @@ xmlSchemaParseUnion(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, * xmlSchemaParseList: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * parse a XML schema List definition * *WARNING* this interface is highly subject to change @@ -9162,7 +9162,7 @@ xmlSchemaParseList(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, * xmlSchemaParseSimpleType: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * parse a XML schema Simple Type definition * *WARNING* this interface is highly subject to change @@ -9473,11 +9473,11 @@ xmlSchemaParseModelGroupDefRef(xmlSchemaParserCtxtPtr ctxt, * xmlSchemaParseModelGroupDefinition: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * Parses a XML schema model group definition. * - * Note that the contraint src-redefine (6.2) can't be applied until + * Note that the constraint src-redefine (6.2) can't be applied until * references have been resolved. So we will do this at the * component fixup level. * @@ -10185,7 +10185,7 @@ xmlSchemaParseNewDocWithContext(xmlSchemaParserCtxtPtr pctxt, goto exit; /* * TODO: Not nice, but I'm not 100% sure we will get always an error - * as a result of the obove functions; so better rely on pctxt->err + * as a result of the above functions; so better rely on pctxt->err * as well. */ if ((ret == 0) && (oldErrs != pctxt->nberrors)) { @@ -10279,7 +10279,7 @@ xmlSchemaBuildAbsoluteURI(xmlDictPtr dict, const xmlChar* location, xmlNodePtr ctxtNode) { /* - * Build an absolue location URI. + * Build an absolute location URI. */ if (location != NULL) { if (ctxtNode == NULL) @@ -10311,7 +10311,7 @@ xmlSchemaBuildAbsoluteURI(xmlDictPtr dict, const xmlChar* location, * xmlSchemaAddSchemaDoc: * @pctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * Parse an included (and to-be-redefined) XML schema document. * @@ -10361,7 +10361,7 @@ xmlSchemaAddSchemaDoc(xmlSchemaParserCtxtPtr pctxt, if ((type == XML_SCHEMA_SCHEMA_MAIN) || (! WXS_HAS_BUCKETS(pctxt))) goto doc_load; - /* Note that we expect the location to be an absulute URI. */ + /* Note that we expect the location to be an absolute URI. */ if (schemaLocation != NULL) { bkt = xmlSchemaGetSchemaBucket(pctxt, schemaLocation); if ((bkt != NULL) && @@ -10508,7 +10508,7 @@ xmlSchemaAddSchemaDoc(xmlSchemaParserCtxtPtr pctxt, /* * Chameleon include/redefine: skip loading only if it was - * aleady build for the targetNamespace of the including + * already build for the targetNamespace of the including * schema. */ /* @@ -10516,7 +10516,7 @@ xmlSchemaAddSchemaDoc(xmlSchemaParserCtxtPtr pctxt, * the components into the including schema and modify the * targetNamespace of those components, do nothing otherwise. * NOTE: This is currently worked-around by compiling the - * chameleon for every destinct including targetNamespace; thus + * chameleon for every distinct including targetNamespace; thus * not performant at the moment. * TODO: Check when the namespace in wildcards for chameleons * needs to be converted: before we built wildcard intersections @@ -10707,7 +10707,7 @@ doc_load: exit: /* - * Return the bucket explicitely; this is needed for the + * Return the bucket explicitly; this is needed for the * main schema. */ if (bucket != NULL) @@ -10735,7 +10735,7 @@ exit_failure: * xmlSchemaParseImport: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * parse a XML schema Import definition * *WARNING* this interface is highly subject to change @@ -11227,7 +11227,7 @@ xmlSchemaParseInclude(xmlSchemaParserCtxtPtr pctxt, xmlSchemaPtr schema, * xmlSchemaParseModelGroup: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * @type: the "compositor" type * @particleNeeded: if a a model group with a particle * @@ -11507,7 +11507,7 @@ xmlSchemaParseModelGroup(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, * xmlSchemaParseRestriction: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * parse a XML schema Restriction definition * *WARNING* this interface is highly subject to change @@ -11810,7 +11810,7 @@ xmlSchemaParseRestriction(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, * xmlSchemaParseExtension: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * Parses an <extension>, which is found inside a * <simpleContent> or <complexContent>. @@ -11946,7 +11946,7 @@ xmlSchemaParseExtension(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema, * xmlSchemaParseSimpleContent: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * parse a XML schema SimpleContent definition * *WARNING* this interface is highly subject to change @@ -12036,7 +12036,7 @@ xmlSchemaParseSimpleContent(xmlSchemaParserCtxtPtr ctxt, * xmlSchemaParseComplexContent: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * parse a XML schema ComplexContent definition * *WARNING* this interface is highly subject to change @@ -12131,7 +12131,7 @@ xmlSchemaParseComplexContent(xmlSchemaParserCtxtPtr ctxt, * xmlSchemaParseComplexType: * @ctxt: a schema validation context * @schema: the schema being built - * @node: a subtree containing XML Schema informations + * @node: a subtree containing XML Schema information * * parse a XML schema Complex Type definition * *WARNING* this interface is highly subject to change @@ -12888,7 +12888,7 @@ xmlSchemaBuildAContentModel(xmlSchemaParserCtxtPtr pctxt, ret = 1; /* - * If max and min occurances are default (1) then + * If max and min occurrences are default (1) then * simply iterate over the particles of the <sequence>. */ if ((particle->minOccurs == 1) && (particle->maxOccurs == 1)) { @@ -13047,7 +13047,7 @@ xmlSchemaBuildAContentModel(xmlSchemaParserCtxtPtr pctxt, particle->minOccurs < 1 ? 0 : particle->minOccurs - 1; /* - * use a counter to keep track of the number of transtions + * use a counter to keep track of the number of transitions * which went through the choice. */ counter = @@ -13512,7 +13512,7 @@ xmlSchemaGetBuiltInTypeAncestor(xmlSchemaTypePtr type) * @source: the source wildcard * * Clones the namespace constraints of source - * and assignes them to dest. + * and assigns them to dest. * Returns -1 on internal error, 0 otherwise. */ static int @@ -13735,7 +13735,7 @@ xmlSchemaUnionWildcards(xmlSchemaParserCtxtPtr ctxt, */ xmlSchemaPErr(ctxt, completeWild->node, XML_SCHEMAP_UNION_NOT_EXPRESSIBLE, - "The union of the wilcard is not expressible.\n", + "The union of the wildcard is not expressible.\n", NULL, NULL); return(XML_SCHEMAP_UNION_NOT_EXPRESSIBLE); } else if ((!nsFound) && (!absentFound)) { @@ -13972,7 +13972,7 @@ xmlSchemaIntersectWildcards(xmlSchemaParserCtxtPtr ctxt, (curWild->negNsSet->value != NULL)) { xmlSchemaPErr(ctxt, completeWild->node, XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE, - "The intersection of the wilcard is not expressible.\n", + "The intersection of the wildcard is not expressible.\n", NULL, NULL); return(XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE); } @@ -14443,7 +14443,7 @@ xmlSchemaExpandAttributeGroupRefs(xmlSchemaParserCtxtPtr pctxt, * Builds the wildcard and the attribute uses on the given complex type. * Returns -1 if an internal error occurs, 0 otherwise. * - * ATTENTION TODO: Experimantally this uses pointer comparisons for + * ATTENTION TODO: Experimentally this uses pointer comparisons for * strings, so recheck this if we start to hardcode some schemata, since * they might not be in the same dict. * NOTE: It is allowed to "extend" the xs:anyType type. @@ -14643,7 +14643,7 @@ exit_failure: * Evaluates if a type definition contains the given "final". * This does take "finalDefault" into account as well. * - * Returns 1 if the type does containt the given "final", + * Returns 1 if the type does contain the given "final", * 0 otherwise. */ static int @@ -14683,7 +14683,7 @@ xmlSchemaGetUnionSimpleTypeMemberTypes(xmlSchemaTypePtr type) * Schema Component Constraint: Effective Total Range * (all and sequence) + (choice) * - * Returns the minimun Effective Total Range. + * Returns the minimum Effective Total Range. */ static int xmlSchemaGetParticleTotalRangeMin(xmlSchemaParticlePtr particle) @@ -14827,12 +14827,12 @@ xmlSchemaIsParticleEmptiable(xmlSchemaParticlePtr particle) * @actxt: a context * @type: the derived simple type definition * @baseType: the base type definition - * @subset: the subset of ('restriction', ect.) + * @subset: the subset of ('restriction', etc.) * * Schema Component Constraint: * Type Derivation OK (Simple) (cos-st-derived-OK) * - * Checks wheter @type can be validly + * Checks whether @type can be validly * derived from @baseType. * * Returns 0 on success, an positive error code otherwise. @@ -14845,7 +14845,7 @@ xmlSchemaCheckCOSSTDerivedOK(xmlSchemaAbstractCtxtPtr actxt, { /* * 1 They are the same type definition. - * TODO: The identy check might have to be more complex than this. + * TODO: The identity check might have to be more complex than this. */ if (type == baseType) return (0); @@ -14956,7 +14956,7 @@ xmlSchemaCheckTypeDefCircularInternal(xmlSchemaParserCtxtPtr pctxt, } if (ancestor->flags & XML_SCHEMAS_TYPE_MARKED) { /* - * Avoid inifinite recursion on circular types not yet checked. + * Avoid infinite recursion on circular types not yet checked. */ return (0); } @@ -15055,7 +15055,7 @@ xmlSchemaCheckUnionTypeDefCircular(xmlSchemaParserCtxtPtr pctxt, * @ctxt: the parser context * @name: the name * - * Resolvese type definition references + * Resolves type definition references */ static void xmlSchemaResolveTypeReferences(xmlSchemaTypePtr typeDef, @@ -16132,7 +16132,7 @@ xmlSchemaCheckCOSCTDerivedOK(xmlSchemaAbstractCtxtPtr actxt, * Calls: * Type Derivation OK (Simple) AND Type Derivation OK (Complex) * - * Checks wheter @type can be validly derived from @baseType. + * Checks whether @type can be validly derived from @baseType. * * Returns 0 on success, an positive error code otherwise. */ @@ -16265,7 +16265,7 @@ xmlSchemaCheckCOSCTExtends(xmlSchemaParserCtxtPtr ctxt, * if created the type via a schema construction API. */ if (base->attributeWildcard != NULL) { - if (type->attributeWilcard == NULL) { + if (type->attributeWildcard == NULL) { xmlChar *str = NULL; xmlSchemaCustomErr(ACTXT_CAST pctxt, @@ -16494,7 +16494,7 @@ xmlSchemaCheckDerivationOKRestriction(xmlSchemaParserCtxtPtr ctxt, * the {content type} is validly derived given the empty * set as defined in Type Derivation OK (Simple) ($3.14.6)." * - * ATTENTION TODO: This seems not needed if the type implicitely + * ATTENTION TODO: This seems not needed if the type implicitly * derived from the base type. * */ @@ -17719,7 +17719,7 @@ xmlSchemaDeriveAndValidateFacets(xmlSchemaParserCtxtPtr pctxt, * * *Patterns*: won't be add here, since they are ORed at * type level and ANDed at ancestor level. This will - * happed during validation by walking the base axis + * happen during validation by walking the base axis * of the type. */ for (cur = base->facetSet; cur != NULL; cur = cur->next) { @@ -18319,7 +18319,7 @@ xmlSchemaFixupComplexType(xmlSchemaParserCtxtPtr pctxt, WXS_BASIC_CAST type, NULL, "Internal error: xmlSchemaTypeFixup, " "complex type '%s': the <simpleContent><restriction> " - "is missing a <simpleType> child, but was not catched " + "is missing a <simpleType> child, but was not caught " "by xmlSchemaCheckSRCCT()", type->name); goto exit_failure; } @@ -18332,7 +18332,7 @@ xmlSchemaFixupComplexType(xmlSchemaParserCtxtPtr pctxt, if (baseType->contentTypeDef == NULL) { /* * TODO: Check if this ever happens. xmlSchemaCheckSRCCT - * should have catched this already. + * should have caught this already. */ xmlSchemaPCustomErr(pctxt, XML_SCHEMAP_INTERNAL, @@ -18575,7 +18575,7 @@ xmlSchemaFixupComplexType(xmlSchemaParserCtxtPtr pctxt, * NOTE that, although we miss to add an intermediate * <sequence>, this should produce no difference to * neither the regex compilation of the content model, - * nor to the complex type contraints. + * nor to the complex type constraints. */ particle->children->children = (xmlSchemaTreeItemPtr) baseType->subtypes; @@ -19000,7 +19000,7 @@ xmlSchemaCheckGroupDefCircular(xmlSchemaModelGroupDefPtr item, * is defined for model groups but not definitions, but since * there cannot be any circular model groups without a model group * definition (if not using a construction API), we check those - * defintions only. + * definitions only. */ xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_MG_PROPS_CORRECT_2, @@ -19073,7 +19073,7 @@ xmlSchemaModelGroupToModelGroupDefFixup( * This one is intended to be used by * xmlSchemaCheckAttrGroupCircular only. * - * Returns the circular attribute grou reference, otherwise NULL. + * Returns the circular attribute group reference, otherwise NULL. */ static xmlSchemaQNameRefPtr xmlSchemaCheckAttrGroupCircularRecur(xmlSchemaAttributeGroupPtr ctxtGr, @@ -19187,7 +19187,7 @@ xmlSchemaAttributeGroupExpandRefs(xmlSchemaParserCtxtPtr pctxt, * @list: the attribute uses * * Substitutes contained attribute group references - * for their attribute uses. Wilcards are intersected. + * for their attribute uses. Wildcards are intersected. * Attribute use prohibitions are removed from the list * and returned via the @prohibs list. * Pointlessness of attr. prohibs, if a matching attr. decl @@ -19361,7 +19361,7 @@ xmlSchemaExpandAttributeGroupRefs(xmlSchemaParserCtxtPtr pctxt, * {attribute wildcard} property * * Substitutes contained attribute group references - * for their attribute uses. Wilcards are intersected. + * for their attribute uses. Wildcards are intersected. */ static int xmlSchemaAttributeGroupExpandRefs(xmlSchemaParserCtxtPtr pctxt, @@ -19384,7 +19384,7 @@ xmlSchemaAttributeGroupExpandRefs(xmlSchemaParserCtxtPtr pctxt, * @attrGr: the attribute group definition * * Substitutes contained attribute group references - * for their attribute uses. Wilcards are intersected. + * for their attribute uses. Wildcards are intersected. * * Schema Component Constraint: * Attribute Group Definition Properties Correct (ag-props-correct) @@ -19520,8 +19520,8 @@ xmlSchemaResolveAttrGroupReferences(xmlSchemaQNameRefPtr ref, * Attribute Declaration Properties Correct (a-props-correct) * * Validates the value constraints of an attribute declaration/use. - * NOTE that this needs the simle type definitions to be already - * builded and checked. + * NOTE that this needs the simple type definitions to be already + * built and checked. */ static int xmlSchemaCheckAttrPropsCorrect(xmlSchemaParserCtxtPtr pctxt, @@ -20508,7 +20508,7 @@ xmlSchemaCheckSRCRedefineFirst(xmlSchemaParserCtxtPtr pctxt) * it's not clear if the referenced component needs to originate * from the <redefine>d schema _document_ or the schema; the latter * would include all imported and included sub-schemas of the - * <redefine>d schema. Currenlty we latter approach is used. + * <redefine>d schema. Currently the latter approach is used. * SUPPLEMENT: It seems that the WG moves towards the latter * approach, so we are doing it right. * @@ -20623,8 +20623,8 @@ xmlSchemaCheckSRCRedefineFirst(xmlSchemaParserCtxtPtr pctxt) * This is the complicated case: we need * to apply src-redefine (7.2.2) at a later * stage, i.e. when attribute group references - * have beed expanded and simple types have - * beed fixed. + * have been expanded and simple types have + * been fixed. */ redef->target = prev; } @@ -20979,7 +20979,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt, break; case XML_SCHEMA_EXTRA_ATTR_USE_PROHIB: /* - * Handle attribue prohibition which had a + * Handle attribute prohibition which had a * "ref" attribute. */ xmlSchemaResolveAttrUseProhibReferences( @@ -20999,7 +20999,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt, * 1. the base axis of type definitions * 2. nested model group definitions * 3. nested attribute group definitions - * TODO: check for circual substitution groups. + * TODO: check for circular substitution groups. */ for (i = 0; i < nbItems; i++) { item = items[i]; @@ -21080,7 +21080,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt, goto exit_error; /* * First compute the variety of simple types. This is needed as - * a seperate step, since otherwise we won't be able to detect + * a separate step, since otherwise we won't be able to detect * circular union types in all cases. */ for (i = 0; i < nbItems; i++) { @@ -21142,7 +21142,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt, * At this point we need build and check all simple types. */ /* - * Apply contraints for attribute declarations. + * Apply constraints for attribute declarations. */ for (i = 0; i < nbItems; i++) { item = items[i]; @@ -21207,7 +21207,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt, goto exit_error; /* - * Complex types are builded and checked. + * Complex types are built and checked. */ for (i = 0; i < nbItems; i++) { item = con->pending->items[i]; @@ -21324,7 +21324,7 @@ exit: * @ctxt: a schema validation context * * parse a schema definition resource and build an internal - * XML Shema struture which can be used to validate instances. + * XML Schema structure which can be used to validate instances. * * Returns the internal XML Schema structure built from the resource or * NULL in case of error @@ -21426,7 +21426,7 @@ exit: exit_failure: /* * Quite verbose, but should catch internal errors, which were - * not communitated. + * not communicated. */ if (mainSchema) { xmlSchemaFree(mainSchema); @@ -21893,7 +21893,7 @@ xmlSchemaLookupNamespace(xmlSchemaValidCtxtPtr vctxt, if ((vctxt->inode->node == NULL) || (vctxt->inode->node->doc == NULL)) { VERROR_INT("xmlSchemaLookupNamespace", - "no node or node's doc avaliable"); + "no node or node's doc available"); return (NULL); } ns = xmlSearchNs(vctxt->inode->node->doc, @@ -22106,7 +22106,7 @@ xmlSchemaIDCStoreNodeTableItem(xmlSchemaValidCtxtPtr vctxt, xmlSchemaPSVIIDCNodePtr item) { /* - * Add to gobal list. + * Add to global list. */ if (vctxt->idcNodes == NULL) { vctxt->idcNodes = (xmlSchemaPSVIIDCNodePtr *) @@ -22147,7 +22147,7 @@ xmlSchemaIDCStoreKey(xmlSchemaValidCtxtPtr vctxt, xmlSchemaPSVIIDCKeyPtr key) { /* - * Add to gobal list. + * Add to global list. */ if (vctxt->idcKeys == NULL) { vctxt->idcKeys = (xmlSchemaPSVIIDCKeyPtr *) @@ -22804,7 +22804,7 @@ xmlSchemaXPathProcessHistory(xmlSchemaValidCtxtPtr vctxt, VERROR(XML_SCHEMAV_CVC_IDC, WXS_BASIC_CAST sto->matcher->aidc->def, "Warning: No precomputed value available, the value " - "was either invalid or something strange happend"); + "was either invalid or something strange happened"); sto->nbHistory--; goto deregister_check; } else { @@ -22825,7 +22825,7 @@ xmlSchemaXPathProcessHistory(xmlSchemaValidCtxtPtr vctxt, * <bar> * </scope> * - * The size of the list is only dependant on the depth of + * The size of the list is only dependent on the depth of * the tree. * An entry will be NULLed in selector_leave, i.e. when * we hit the target's @@ -23366,6 +23366,8 @@ xmlSchemaIDCFillNodeTables(xmlSchemaValidCtxtPtr vctxt, * Get/create the IDC binding on this element for the IDC definition. */ bind = xmlSchemaIDCAcquireBinding(vctxt, matcher); + if (bind == NULL) + goto internal_error; if (! WXS_ILIST_IS_EMPTY(bind->dupls)) { dupls = (xmlSchemaPSVIIDCNodePtr *) bind->dupls->items; @@ -24118,7 +24120,7 @@ xmlSchemaClearElemInfo(xmlSchemaValidCtxtPtr vctxt, * @vctxt: the schema validation context * * Creates/reuses and initializes the element info item for - * the currect tree depth. + * the current tree depth. * * Returns the element info item or NULL on API or internal errors. */ @@ -24200,7 +24202,7 @@ xmlSchemaValidateFacets(xmlSchemaAbstractCtxtPtr actxt, unsigned long length, int fireErrors) { - int ret, error = 0; + int ret, error = 0, found; xmlSchemaTypePtr tmpType; xmlSchemaFacetLinkPtr facetLink; @@ -24324,103 +24326,98 @@ WXS_IS_LIST: } pattern_and_enum: - if (error >= 0) { - int found = 0; - /* - * Process enumerations. Facet values are in the value space - * of the defining type's base type. This seems to be a bug in the - * XML Schema 1.0 spec. Use the whitespace type of the base type. - * Only the first set of enumerations in the ancestor-or-self axis - * is used for validation. - */ - ret = 0; - tmpType = type; - do { - for (facet = tmpType->facets; facet != NULL; facet = facet->next) { - if (facet->type != XML_SCHEMA_FACET_ENUMERATION) - continue; - found = 1; - ret = xmlSchemaAreValuesEqual(facet->val, val); - if (ret == 1) - break; - else if (ret < 0) { - AERROR_INT("xmlSchemaValidateFacets", - "validating against an enumeration facet"); - return (-1); - } - } - if (ret != 0) - break; - /* - * Break on the first set of enumerations. Any additional - * enumerations which might be existent on the ancestors - * of the current type are restricted by this set; thus - * *must* *not* be taken into account. - */ - if (found) - break; - tmpType = tmpType->baseType; - } while ((tmpType != NULL) && - (tmpType->type != XML_SCHEMA_TYPE_BASIC)); - if (found && (ret == 0)) { - ret = XML_SCHEMAV_CVC_ENUMERATION_VALID; - if (fireErrors) { - xmlSchemaFacetErr(actxt, ret, node, - value, 0, type, NULL, NULL, NULL, NULL); - } else - return (ret); - if (error == 0) - error = ret; - } - } - - if (error >= 0) { - int found; - /* - * Process patters. Pattern facets are ORed at type level - * and ANDed if derived. Walk the base type axis. - */ - tmpType = type; - facet = NULL; - do { - found = 0; - for (facetLink = tmpType->facetSet; facetLink != NULL; - facetLink = facetLink->next) { - if (facetLink->facet->type != XML_SCHEMA_FACET_PATTERN) - continue; - found = 1; - /* - * NOTE that for patterns, @value needs to be the - * normalized vaule. - */ - ret = xmlRegexpExec(facetLink->facet->regexp, value); - if (ret == 1) - break; - else if (ret < 0) { - AERROR_INT("xmlSchemaValidateFacets", - "validating against a pattern facet"); - return (-1); - } else { - /* - * Save the last non-validating facet. - */ - facet = facetLink->facet; - } - } - if (found && (ret != 1)) { - ret = XML_SCHEMAV_CVC_PATTERN_VALID; - if (fireErrors) { - xmlSchemaFacetErr(actxt, ret, node, - value, 0, type, facet, NULL, NULL, NULL); - } else - return (ret); - if (error == 0) - error = ret; - break; - } - tmpType = tmpType->baseType; - } while ((tmpType != NULL) && (tmpType->type != XML_SCHEMA_TYPE_BASIC)); - } + found = 0; + /* + * Process enumerations. Facet values are in the value space + * of the defining type's base type. This seems to be a bug in the + * XML Schema 1.0 spec. Use the whitespace type of the base type. + * Only the first set of enumerations in the ancestor-or-self axis + * is used for validation. + */ + ret = 0; + tmpType = type; + do { + for (facet = tmpType->facets; facet != NULL; facet = facet->next) { + if (facet->type != XML_SCHEMA_FACET_ENUMERATION) + continue; + found = 1; + ret = xmlSchemaAreValuesEqual(facet->val, val); + if (ret == 1) + break; + else if (ret < 0) { + AERROR_INT("xmlSchemaValidateFacets", + "validating against an enumeration facet"); + return (-1); + } + } + if (ret != 0) + break; + /* + * Break on the first set of enumerations. Any additional + * enumerations which might be existent on the ancestors + * of the current type are restricted by this set; thus + * *must* *not* be taken into account. + */ + if (found) + break; + tmpType = tmpType->baseType; + } while ((tmpType != NULL) && + (tmpType->type != XML_SCHEMA_TYPE_BASIC)); + if (found && (ret == 0)) { + ret = XML_SCHEMAV_CVC_ENUMERATION_VALID; + if (fireErrors) { + xmlSchemaFacetErr(actxt, ret, node, + value, 0, type, NULL, NULL, NULL, NULL); + } else + return (ret); + if (error == 0) + error = ret; + } + + /* + * Process patters. Pattern facets are ORed at type level + * and ANDed if derived. Walk the base type axis. + */ + tmpType = type; + facet = NULL; + do { + found = 0; + for (facetLink = tmpType->facetSet; facetLink != NULL; + facetLink = facetLink->next) { + if (facetLink->facet->type != XML_SCHEMA_FACET_PATTERN) + continue; + found = 1; + /* + * NOTE that for patterns, @value needs to be the + * normalized value. + */ + ret = xmlRegexpExec(facetLink->facet->regexp, value); + if (ret == 1) + break; + else if (ret < 0) { + AERROR_INT("xmlSchemaValidateFacets", + "validating against a pattern facet"); + return (-1); + } else { + /* + * Save the last non-validating facet. + */ + facet = facetLink->facet; + } + } + if (found && (ret != 1)) { + ret = XML_SCHEMAV_CVC_PATTERN_VALID; + if (fireErrors) { + xmlSchemaFacetErr(actxt, ret, node, + value, 0, type, facet, NULL, NULL, NULL); + } else + return (ret); + if (error == 0) + error = ret; + break; + } + tmpType = tmpType->baseType; + } while ((tmpType != NULL) && (tmpType->type != XML_SCHEMA_TYPE_BASIC)); return (error); } @@ -24665,7 +24662,7 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt, ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1; } } - if (fireErrors && (ret > 0)) + else if (fireErrors && (ret > 0)) xmlSchemaSimpleTypeErr(actxt, ret, node, value, type, 1); } else if (WXS_IS_LIST(type)) { @@ -24928,7 +24925,7 @@ xmlSchemaProcessXSIType(xmlSchemaValidCtxtPtr vctxt, else { const xmlChar *nsName = NULL, *local = NULL; /* - * TODO: We should report a *warning* that the type was overriden + * TODO: We should report a *warning* that the type was overridden * by the instance. */ ACTIVATE_ATTRIBUTE(iattr); @@ -26347,7 +26344,7 @@ default_psvi: XML_SCHEMA_ELEM_INFO_HAS_ELEM_CONTENT) { ret = XML_SCHEMAV_CVC_ELT_5_2_2_1; VERROR(ret, NULL, - "The content must not containt element nodes since " + "The content must not contain element nodes since " "there is a fixed value constraint"); goto end_elem; } else { @@ -26554,7 +26551,7 @@ xmlSchemaValidateChildElem(xmlSchemaValidCtxtPtr vctxt) if (ptype->builtInType == XML_SCHEMAS_ANYTYPE) { /* * Workaround for "anyType": we have currently no content model - * assigned for "anyType", so handle it explicitely. + * assigned for "anyType", so handle it explicitly. * "anyType" has an unbounded, lax "any" wildcard. */ vctxt->inode->decl = xmlSchemaGetElem(vctxt->schema, @@ -26629,7 +26626,7 @@ xmlSchemaValidateChildElem(xmlSchemaValidCtxtPtr vctxt) return (-1); } /* - * Safety belf for evaluation if the cont. model was already + * Safety belt for evaluation if the cont. model was already * examined to be invalid. */ if (pielem->flags & XML_SCHEMA_ELEM_INFO_ERR_BAD_CONTENT) { @@ -27818,7 +27815,7 @@ xmlSchemaIsValid(xmlSchemaValidCtxtPtr ctxt) * @warn: the warning function * @ctx: the functions context * - * Set the error and warning callback informations + * Set the error and warning callback information */ void xmlSchemaSetValidErrors(xmlSchemaValidCtxtPtr ctxt, @@ -27863,7 +27860,7 @@ xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt, * @warn: the warning function result * @ctx: the functions context result * - * Get the error and warning callback informations + * Get the error and warning callback information * * Returns -1 in case of error and 0 otherwise */ @@ -27954,6 +27951,10 @@ xmlSchemaVDocWalk(xmlSchemaValidCtxtPtr vctxt) VERROR(1, NULL, "The document has no document element"); return (1); } + for (node = valRoot->next; node != NULL; node = node->next) { + if (node->type == XML_ELEMENT_NODE) + VERROR(1, NULL, "The document has more than one top element"); + } vctxt->depth = -1; vctxt->validationRoot = valRoot; node = valRoot; @@ -28111,7 +28112,6 @@ xmlSchemaPreRun(xmlSchemaValidCtxtPtr vctxt) { vctxt->nberrors = 0; vctxt->depth = -1; vctxt->skipDepth = -1; - vctxt->xsiAssemble = 0; vctxt->hasKeyrefs = 0; #ifdef ENABLE_IDC_NODE_TABLES_TEST vctxt->createIDCNodeTables = 1; @@ -28289,13 +28289,13 @@ struct _xmlSchemaSplitSAXData { struct _xmlSchemaSAXPlug { unsigned int magic; - /* the original callbacks informations */ + /* the original callbacks information */ xmlSAXHandlerPtr *user_sax_ptr; xmlSAXHandlerPtr user_sax; void **user_data_ptr; void *user_data; - /* the block plugged back and validation informations */ + /* the block plugged back and validation information */ xmlSAXHandler schemas_sax; xmlSchemaValidCtxtPtr ctxt; }; @@ -28818,7 +28818,7 @@ xmlSchemaValidateSetLocator(xmlSchemaValidCtxtPtr vctxt, * * Internal locator function for the readers * - * Returns 0 in case the Schema validation could be (des)activated and + * Returns 0 in case the Schema validation could be (de)activated and * -1 in case of error. */ static int diff --git a/xmlschemastypes.c b/xmlschemastypes.c index ca381d38..4249d700 100644 --- a/xmlschemastypes.c +++ b/xmlschemastypes.c @@ -70,7 +70,7 @@ struct _xmlSchemaValDate { unsigned int hour :5; /* 0 <= hour <= 24 */ unsigned int min :6; /* 0 <= min <= 59 */ double sec; - unsigned int tz_flag :1; /* is tzo explicitely set? */ + unsigned int tz_flag :1; /* is tzo explicitly set? */ signed int tzo :12; /* -1440 <= tzo <= 1440; currently only -840 to +840 are needed */ }; @@ -199,7 +199,7 @@ static xmlSchemaTypePtr xmlSchemaTypeNmtokensDef = NULL; ************************************************************************/ /** * xmlSchemaTypeErrMemory: - * @extra: extra informations + * @extra: extra information * * Handle an out of memory condition */ @@ -1129,7 +1129,7 @@ xmlSchemaGetBuiltInListSimpleTypeItemType(xmlSchemaTypePtr type) #define VALID_HOUR(hr) ((hr >= 0) && (hr <= 23)) #define VALID_MIN(min) ((min >= 0) && (min <= 59)) #define VALID_SEC(sec) ((sec >= 0) && (sec < 60)) -#define VALID_TZO(tzo) ((tzo > -840) && (tzo < 840)) +#define VALID_TZO(tzo) ((tzo >= -840) && (tzo <= 840)) #define IS_LEAP(y) \ (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0)) @@ -1160,9 +1160,12 @@ static const unsigned int daysInMonthLeap[12] = #define VALID_DATETIME(dt) \ (VALID_DATE(dt) && VALID_TIME(dt)) -#define SECS_PER_MIN (60) -#define SECS_PER_HOUR (60 * SECS_PER_MIN) -#define SECS_PER_DAY (24 * SECS_PER_HOUR) +#define SECS_PER_MIN 60 +#define MINS_PER_HOUR 60 +#define HOURS_PER_DAY 24 +#define SECS_PER_HOUR (MINS_PER_HOUR * SECS_PER_MIN) +#define SECS_PER_DAY (HOURS_PER_DAY * SECS_PER_HOUR) +#define MINS_PER_DAY (HOURS_PER_DAY * MINS_PER_HOUR) static const long dayInYearByMonth[12] = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 }; @@ -1222,7 +1225,14 @@ _xmlSchemaParseGYear (xmlSchemaValDatePtr dt, const xmlChar **str) { firstChar = cur; while ((*cur >= '0') && (*cur <= '9')) { - dt->year = dt->year * 10 + (*cur - '0'); + int digit = *cur - '0'; + + if (dt->year > LONG_MAX / 10) + return 2; + dt->year *= 10; + if (dt->year > LONG_MAX - digit) + return 2; + dt->year += digit; cur++; digcnt++; } @@ -1791,10 +1801,8 @@ xmlSchemaValidateDuration (xmlSchemaTypePtr type ATTRIBUTE_UNUSED, xmlSchemaValPtr dur; int isneg = 0; unsigned int seq = 0; - double num; - int num_type = 0; /* -1 = invalid, 0 = int, 1 = floating */ - const xmlChar desig[] = {'Y', 'M', 'D', 'H', 'M', 'S'}; - const double multi[] = { 0.0, 0.0, 86400.0, 3600.0, 60.0, 1.0, 0.0}; + long days, secs = 0; + double sec_frac = 0.0; if (duration == NULL) return -1; @@ -1819,6 +1827,10 @@ xmlSchemaValidateDuration (xmlSchemaTypePtr type ATTRIBUTE_UNUSED, return -1; while (*cur != 0) { + long num = 0; + size_t has_digits = 0; + int has_frac = 0; + const xmlChar desig[] = {'Y', 'M', 'D', 'H', 'M', 'S'}; /* input string should be empty or invalid date/time item */ if (seq >= sizeof(desig)) @@ -1826,53 +1838,104 @@ xmlSchemaValidateDuration (xmlSchemaTypePtr type ATTRIBUTE_UNUSED, /* T designator must be present for time items */ if (*cur == 'T') { - if (seq <= 3) { - seq = 3; - cur++; - } else - return 1; + if (seq > 3) + goto error; + cur++; + seq = 3; } else if (seq == 3) goto error; - /* parse the number portion of the item */ - PARSE_NUM(num, cur, num_type); + /* Parse integral part. */ + while (*cur >= '0' && *cur <= '9') { + long digit = *cur - '0'; - if ((num_type == -1) || (*cur == 0)) - goto error; - - /* update duration based on item type */ - while (seq < sizeof(desig)) { - if (*cur == desig[seq]) { - - /* verify numeric type; only seconds can be float */ - if ((num_type != 0) && (seq < (sizeof(desig)-1))) - goto error; + if (num > LONG_MAX / 10) + goto error; + num *= 10; + if (num > LONG_MAX - digit) + goto error; + num += digit; - switch (seq) { - case 0: - dur->value.dur.mon = (long)num * 12; - break; - case 1: - dur->value.dur.mon += (long)num; - break; - default: - /* convert to seconds using multiplier */ - dur->value.dur.sec += num * multi[seq]; - seq++; - break; - } + has_digits = 1; + cur++; + } - break; /* exit loop */ + if (*cur == '.') { + /* Parse fractional part. */ + double mult = 1.0; + cur++; + has_frac = 1; + while (*cur >= '0' && *cur <= '9') { + mult /= 10.0; + sec_frac += (*cur - '0') * mult; + has_digits = 1; + cur++; } - /* no date designators found? */ - if ((++seq == 3) || (seq == 6)) + } + + while (*cur != desig[seq]) { + seq++; + /* No T designator or invalid char. */ + if (seq == 3 || seq == sizeof(desig)) goto error; } cur++; - if (collapse) - while IS_WSP_BLANK_CH(*cur) cur++; + + if (!has_digits || (has_frac && (seq != 5))) + goto error; + + switch (seq) { + case 0: + /* Year */ + if (num > LONG_MAX / 12) + goto error; + dur->value.dur.mon = num * 12; + break; + case 1: + /* Month */ + if (dur->value.dur.mon > LONG_MAX - num) + goto error; + dur->value.dur.mon += num; + break; + case 2: + /* Day */ + dur->value.dur.day = num; + break; + case 3: + /* Hour */ + days = num / HOURS_PER_DAY; + if (dur->value.dur.day > LONG_MAX - days) + goto error; + dur->value.dur.day += days; + secs = (num % HOURS_PER_DAY) * SECS_PER_HOUR; + break; + case 4: + /* Minute */ + days = num / MINS_PER_DAY; + if (dur->value.dur.day > LONG_MAX - days) + goto error; + dur->value.dur.day += days; + secs += (num % MINS_PER_DAY) * SECS_PER_MIN; + break; + case 5: + /* Second */ + days = num / SECS_PER_DAY; + if (dur->value.dur.day > LONG_MAX - days) + goto error; + dur->value.dur.day += days; + secs += num % SECS_PER_DAY; + break; + } + + seq++; } + days = secs / SECS_PER_DAY; + if (dur->value.dur.day > LONG_MAX - days) + goto error; + dur->value.dur.day += days; + dur->value.dur.sec = (secs % SECS_PER_DAY) + sec_frac; + if (isneg) { dur->value.dur.mon = -dur->value.dur.mon; dur->value.dur.day = -dur->value.dur.day; @@ -2130,7 +2193,7 @@ xmlSchemaParseUInt(const xmlChar **str, unsigned long *llo, * @value: the value to check * @val: the return computed value * @node: the node containing the value - * flags: flags to control the vlidation + * flags: flags to control the validation * * Check that a value conforms to the lexical space of the atomic type. * if true a value is computed and returned in @val. @@ -2155,7 +2218,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value, return (-1); /* - * validating a non existant text node is similar to validating + * validating a non existent text node is similar to validating * an empty one. */ if (value == NULL) @@ -2636,7 +2699,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value, goto return0; } case XML_SCHEMAS_LANGUAGE: - if (normOnTheFly) { + if ((norm == NULL) && (normOnTheFly)) { norm = xmlSchemaCollapseString(value); if (norm != NULL) value = norm; @@ -2925,7 +2988,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value, if (*value != 0) { xmlURIPtr uri; xmlChar *tmpval, *cur; - if (normOnTheFly) { + if ((norm == NULL) && (normOnTheFly)) { norm = xmlSchemaCollapseString(value); if (norm != NULL) value = norm; @@ -3067,7 +3130,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value, * following cases can arise: (1) the final quantum of * encoding input is an integral multiple of 24 bits; here, * the final unit of encoded output will be an integral - * multiple ofindent: Standard input:701: Warning:old style + * multiple of indent: Standard input:701: Warning:old style * assignment ambiguity in "=*". Assuming "= *" 4 characters * with no "=" padding, (2) the final * quantum of encoding input is exactly 8 bits; here, the @@ -3628,8 +3691,10 @@ xmlSchemaCompareDurations(xmlSchemaValPtr x, xmlSchemaValPtr y) minday = 0; maxday = 0; } else { - maxday = 366 * ((myear + 3) / 4) + - 365 * ((myear - 1) % 4); + /* FIXME: This doesn't take leap year exceptions every 100/400 years + into account. */ + maxday = 365 * myear + (myear + 3) / 4; + /* FIXME: Needs to be calculated separately */ minday = maxday - 1; } @@ -3877,7 +3942,7 @@ _xmlSchemaDateAdd (xmlSchemaValPtr dt, xmlSchemaValPtr dur) temp = r->mon + carry; r->mon = (unsigned int) MODULO_RANGE(temp, 1, 13); - r->year = r->year + (unsigned int) FQUOTIENT_RANGE(temp, 1, 13); + r->year = r->year + (long) FQUOTIENT_RANGE(temp, 1, 13); if (r->year == 0) { if (temp < 1) r->year--; @@ -6001,13 +6066,13 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue) * recoverable timezone and not "Z". */ snprintf(buf, 30, - "%04ld:%02u:%02uZ", + "%04ld-%02u-%02uZ", norm->value.date.year, norm->value.date.mon, norm->value.date.day); xmlSchemaFreeValue(norm); } else { snprintf(buf, 30, - "%04ld:%02u:%02u", + "%04ld-%02u-%02u", val->value.date.year, val->value.date.mon, val->value.date.day); } @@ -6028,14 +6093,14 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue) * TODO: Check if "%.14g" is portable. */ snprintf(buf, 50, - "%04ld:%02u:%02uT%02u:%02u:%02.14gZ", + "%04ld-%02u-%02uT%02u:%02u:%02.14gZ", norm->value.date.year, norm->value.date.mon, norm->value.date.day, norm->value.date.hour, norm->value.date.min, norm->value.date.sec); xmlSchemaFreeValue(norm); } else { snprintf(buf, 50, - "%04ld:%02u:%02uT%02u:%02u:%02.14g", + "%04ld-%02u-%02uT%02u:%02u:%02.14g", val->value.date.year, val->value.date.mon, val->value.date.day, val->value.date.hour, val->value.date.min, val->value.date.sec); diff --git a/xmlwriter.c b/xmlwriter.c index b5cd171f..58445c84 100644 --- a/xmlwriter.c +++ b/xmlwriter.c @@ -541,8 +541,8 @@ xmlTextWriterStartDocument(xmlTextWriterPtr writer, const char *version, if (encoding != NULL) { encoder = xmlFindCharEncodingHandler(encoding); if (encoder == NULL) { - xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY, - "xmlTextWriterStartDocument : out of memory!\n"); + xmlWriterErrMsg(writer, XML_ERR_UNSUPPORTED_ENCODING, + "xmlTextWriterStartDocument : unsupported encoding\n"); return -1; } } @@ -801,7 +801,7 @@ xmlTextWriterStartComment(xmlTextWriterPtr writer) * xmlTextWriterEndComment: * @writer: the xmlTextWriterPtr * - * End the current xml coment. + * End the current xml comment. * * Returns the bytes written (may be 0 because of buffering) or -1 in case of error */ @@ -343,7 +343,7 @@ xmlXPathCmpNodesExt(xmlNodePtr node1, xmlNodePtr node2) { } /* - * Speedup using document order if availble. + * Speedup using document order if available. */ if ((node1->type == XML_ELEMENT_NODE) && (node2->type == XML_ELEMENT_NODE) && @@ -411,7 +411,7 @@ turtle_comparison: if (node1 == node2->next) return(-1); /* - * Speedup using document order if availble. + * Speedup using document order if available. */ if ((node1->type == XML_ELEMENT_NODE) && (node2->type == XML_ELEMENT_NODE) && @@ -435,7 +435,7 @@ turtle_comparison: #endif /* XP_OPTIMIZED_NON_ELEM_COMPARISON */ /* - * Wrapper for the Timsort argorithm from timsort.h + * Wrapper for the Timsort algorithm from timsort.h */ #ifdef WITH_TIM_SORT #define SORT_NAME libxml_domnode @@ -610,6 +610,8 @@ static const char *xmlXPathErrorMessages[] = { "Invalid or incomplete context\n", "Stack usage error\n", "Forbidden variable\n", + "Operation limit exceeded\n", + "Recursion limit exceeded\n", "?? Unknown error ??\n" /* Must be last in the list! */ }; #define MAXERRNO ((int)(sizeof(xmlXPathErrorMessages) / \ @@ -617,7 +619,7 @@ static const char *xmlXPathErrorMessages[] = { /** * xmlXPathErrMemory: * @ctxt: an XPath context - * @extra: extra informations + * @extra: extra information * * Handle a redefinition of attribute error */ @@ -625,6 +627,7 @@ static void xmlXPathErrMemory(xmlXPathContextPtr ctxt, const char *extra) { if (ctxt != NULL) { + xmlResetError(&ctxt->lastError); if (extra) { xmlChar buf[200]; @@ -659,7 +662,7 @@ xmlXPathErrMemory(xmlXPathContextPtr ctxt, const char *extra) /** * xmlXPathPErrMemory: * @ctxt: an XPath parser context - * @extra: extra informations + * @extra: extra information * * Handle a redefinition of attribute error */ @@ -747,6 +750,32 @@ xmlXPatherror(xmlXPathParserContextPtr ctxt, const char *file ATTRIBUTE_UNUSED, xmlXPathErr(ctxt, no); } +/** + * xmlXPathCheckOpLimit: + * @ctxt: the XPath Parser context + * @opCount: the number of operations to be added + * + * Adds opCount to the running total of operations and returns -1 if the + * operation limit is exceeded. Returns 0 otherwise. + */ +static int +xmlXPathCheckOpLimit(xmlXPathParserContextPtr ctxt, unsigned long opCount) { + xmlXPathContextPtr xpctxt = ctxt->context; + + if ((opCount > xpctxt->opLimit) || + (xpctxt->opCount > xpctxt->opLimit - opCount)) { + xpctxt->opCount = xpctxt->opLimit; + xmlXPathErr(ctxt, XPATH_OP_LIMIT_EXCEEDED); + return(-1); + } + + xpctxt->opCount += opCount; + return(0); +} + +#define OP_LIMIT_EXCEEDED(ctxt, n) \ + ((ctxt->context->opLimit != 0) && (xmlXPathCheckOpLimit(ctxt, n) < 0)) + /************************************************************************ * * * Utilities * @@ -1076,14 +1105,15 @@ xmlXPathFreeCompExpr(xmlXPathCompExprPtr comp) * Returns -1 in case of failure, the index otherwise */ static int -xmlXPathCompExprAdd(xmlXPathCompExprPtr comp, int ch1, int ch2, +xmlXPathCompExprAdd(xmlXPathParserContextPtr ctxt, int ch1, int ch2, xmlXPathOp op, int value, int value2, int value3, void *value4, void *value5) { + xmlXPathCompExprPtr comp = ctxt->comp; if (comp->nbStep >= comp->maxStep) { xmlXPathStepOp *real; if (comp->maxStep >= XPATH_MAX_STEPS) { - xmlXPathErrMemory(NULL, "adding step\n"); + xmlXPathPErrMemory(ctxt, "adding step\n"); return(-1); } comp->maxStep *= 2; @@ -1091,7 +1121,7 @@ xmlXPathCompExprAdd(xmlXPathCompExprPtr comp, int ch1, int ch2, comp->maxStep * sizeof(xmlXPathStepOp)); if (real == NULL) { comp->maxStep /= 2; - xmlXPathErrMemory(NULL, "adding step\n"); + xmlXPathPErrMemory(ctxt, "adding step\n"); return(-1); } comp->steps = real; @@ -1153,20 +1183,20 @@ xmlXPathCompSwap(xmlXPathStepOpPtr op) { } #define PUSH_FULL_EXPR(op, op1, op2, val, val2, val3, val4, val5) \ - xmlXPathCompExprAdd(ctxt->comp, (op1), (op2), \ + xmlXPathCompExprAdd(ctxt, (op1), (op2), \ (op), (val), (val2), (val3), (val4), (val5)) #define PUSH_LONG_EXPR(op, val, val2, val3, val4, val5) \ - xmlXPathCompExprAdd(ctxt->comp, ctxt->comp->last, -1, \ + xmlXPathCompExprAdd(ctxt, ctxt->comp->last, -1, \ (op), (val), (val2), (val3), (val4), (val5)) #define PUSH_LEAVE_EXPR(op, val, val2) \ -xmlXPathCompExprAdd(ctxt->comp, -1, -1, (op), (val), (val2), 0 ,NULL ,NULL) +xmlXPathCompExprAdd(ctxt, -1, -1, (op), (val), (val2), 0 ,NULL ,NULL) #define PUSH_UNARY_EXPR(op, ch, val, val2) \ -xmlXPathCompExprAdd(ctxt->comp, (ch), -1, (op), (val), (val2), 0 ,NULL ,NULL) +xmlXPathCompExprAdd(ctxt, (ch), -1, (op), (val), (val2), 0 ,NULL ,NULL) #define PUSH_BINARY_EXPR(op, ch1, ch2, val, val2) \ -xmlXPathCompExprAdd(ctxt->comp, (ch1), (ch2), (op), \ +xmlXPathCompExprAdd(ctxt, (ch1), (ch2), (op), \ (val), (val2), 0 ,NULL ,NULL) /************************************************************************ @@ -1716,7 +1746,6 @@ static int xmlXPathDebugObjMaxUsers = 0; static int xmlXPathDebugObjMaxXSLTTree = 0; static int xmlXPathDebugObjMaxAll = 0; -/* REVISIT TODO: Make this static when committing */ static void xmlXPathDebugObjUsageReset(xmlXPathContextPtr ctxt) { @@ -2031,7 +2060,6 @@ xmlXPathDebugObjUsageReleased(xmlXPathContextPtr ctxt, xmlXPathDebugObjCounterAll--; } -/* REVISIT TODO: Make this static when committing */ static void xmlXPathDebugObjUsageDisplay(xmlXPathContextPtr ctxt) { @@ -2226,7 +2254,7 @@ xmlXPathFreeCache(xmlXPathContextCachePtr cache) * * @ctxt: the XPath context * @active: enables/disables (creates/frees) the cache - * @value: a value with semantics dependant on @options + * @value: a value with semantics dependent on @options * @options: options (currently only the value 0 is used) * * Creates/frees an object cache on the XPath context. @@ -2386,7 +2414,7 @@ xmlXPathCacheNewNodeSet(xmlXPathContextPtr ctxt, xmlNodePtr val) { xmlXPathObjectPtr ret; /* - * Use the nodset-cache. + * Use the nodeset-cache. */ ret = (xmlXPathObjectPtr) cache->nodesetObjs->items[--cache->nodesetObjs->number]; @@ -2396,6 +2424,7 @@ xmlXPathCacheNewNodeSet(xmlXPathContextPtr ctxt, xmlNodePtr val) if ((ret->nodesetval->nodeMax == 0) || (val->type == XML_NAMESPACE_DECL)) { + /* TODO: Check memory error. */ xmlXPathNodeSetAddUnique(ret->nodesetval, val); } else { ret->nodesetval->nodeTab[0] = val; @@ -2842,29 +2871,36 @@ valuePop(xmlXPathParserContextPtr ctxt) * @ctxt: an XPath evaluation context * @value: the XPath object * - * Pushes a new XPath object on top of the value stack + * Pushes a new XPath object on top of the value stack. If value is NULL, + * a memory error is recorded in the parser context. * - * returns the number of items on the value stack + * Returns the number of items on the value stack, or -1 in case of error. */ int valuePush(xmlXPathParserContextPtr ctxt, xmlXPathObjectPtr value) { - if ((ctxt == NULL) || (value == NULL)) return(-1); + if (ctxt == NULL) return(-1); + if (value == NULL) { + /* + * A NULL value typically indicates that a memory allocation failed, + * so we set ctxt->error here to propagate the error. + */ + ctxt->error = XPATH_MEMORY_ERROR; + return(-1); + } if (ctxt->valueNr >= ctxt->valueMax) { xmlXPathObjectPtr *tmp; if (ctxt->valueMax >= XPATH_MAX_STACK_DEPTH) { - xmlXPathErrMemory(NULL, "XPath stack depth limit reached\n"); - ctxt->error = XPATH_MEMORY_ERROR; - return (0); + xmlXPathPErrMemory(ctxt, "XPath stack depth limit reached\n"); + return (-1); } tmp = (xmlXPathObjectPtr *) xmlRealloc(ctxt->valueTab, 2 * ctxt->valueMax * sizeof(ctxt->valueTab[0])); if (tmp == NULL) { - xmlXPathErrMemory(NULL, "pushing value\n"); - ctxt->error = XPATH_MEMORY_ERROR; - return (0); + xmlXPathPErrMemory(ctxt, "pushing value\n"); + return (-1); } ctxt->valueMax *= 2; ctxt->valueTab = tmp; @@ -3320,7 +3356,7 @@ xmlXPathCmpNodes(xmlNodePtr node1, xmlNodePtr node2) { return(-1); /* - * Speedup using document order if availble. + * Speedup using document order if available. */ if ((node1->type == XML_ELEMENT_NODE) && (node2->type == XML_ELEMENT_NODE) && @@ -3383,7 +3419,7 @@ xmlXPathCmpNodes(xmlNodePtr node1, xmlNodePtr node2) { if (node1 == node2->next) return(-1); /* - * Speedup using document order if availble. + * Speedup using document order if available. */ if ((node1->type == XML_ELEMENT_NODE) && (node2->type == XML_ELEMENT_NODE) && @@ -3547,6 +3583,7 @@ xmlXPathNodeSetCreate(xmlNodePtr val) { if (val->type == XML_NAMESPACE_DECL) { xmlNsPtr ns = (xmlNsPtr) val; + /* TODO: Check memory error. */ ret->nodeTab[ret->nodeNr++] = xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns); } else @@ -3556,37 +3593,6 @@ xmlXPathNodeSetCreate(xmlNodePtr val) { } /** - * xmlXPathNodeSetCreateSize: - * @size: the initial size of the set - * - * Create a new xmlNodeSetPtr of type double and of value @val - * - * Returns the newly created object. - */ -static xmlNodeSetPtr -xmlXPathNodeSetCreateSize(int size) { - xmlNodeSetPtr ret; - - ret = (xmlNodeSetPtr) xmlMalloc(sizeof(xmlNodeSet)); - if (ret == NULL) { - xmlXPathErrMemory(NULL, "creating nodeset\n"); - return(NULL); - } - memset(ret, 0 , (size_t) sizeof(xmlNodeSet)); - if (size < XML_NODESET_DEFAULT) - size = XML_NODESET_DEFAULT; - ret->nodeTab = (xmlNodePtr *) xmlMalloc(size * sizeof(xmlNodePtr)); - if (ret->nodeTab == NULL) { - xmlXPathErrMemory(NULL, "creating nodeset\n"); - xmlFree(ret); - return(NULL); - } - memset(ret->nodeTab, 0 , size * (size_t) sizeof(xmlNodePtr)); - ret->nodeMax = size; - return(ret); -} - -/** * xmlXPathNodeSetContains: * @cur: the node-set * @val: the node @@ -3684,6 +3690,7 @@ xmlXPathNodeSetAddNs(xmlNodeSetPtr cur, xmlNodePtr node, xmlNsPtr ns) { cur->nodeMax *= 2; cur->nodeTab = temp; } + /* TODO: Check memory error. */ cur->nodeTab[cur->nodeNr++] = xmlXPathNodeSetDupNs(node, ns); return(0); } @@ -3742,6 +3749,7 @@ xmlXPathNodeSetAdd(xmlNodeSetPtr cur, xmlNodePtr val) { if (val->type == XML_NAMESPACE_DECL) { xmlNsPtr ns = (xmlNsPtr) val; + /* TODO: Check memory error. */ cur->nodeTab[cur->nodeNr++] = xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns); } else @@ -3796,6 +3804,7 @@ xmlXPathNodeSetAddUnique(xmlNodeSetPtr cur, xmlNodePtr val) { if (val->type == XML_NAMESPACE_DECL) { xmlNsPtr ns = (xmlNsPtr) val; + /* TODO: Check memory error. */ cur->nodeTab[cur->nodeNr++] = xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns); } else @@ -3830,7 +3839,7 @@ xmlXPathNodeSetMerge(xmlNodeSetPtr val1, xmlNodeSetPtr val2) { * xmlXPathNodeSetDupNs() to the set; thus a pure * memcpy is not possible. * If there was a flag on the nodesetval, indicating that - * some temporary nodes are in, that would be helpfull. + * some temporary nodes are in, that would be helpful. */ /* * Optimization: Create an equally sized node-set @@ -3912,6 +3921,7 @@ xmlXPathNodeSetMerge(xmlNodeSetPtr val1, xmlNodeSetPtr val2) { if (n2->type == XML_NAMESPACE_DECL) { xmlNsPtr ns = (xmlNsPtr) n2; + /* TODO: Check memory error. */ val1->nodeTab[val1->nodeNr++] = xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns); } else @@ -3926,49 +3936,23 @@ xmlXPathNodeSetMerge(xmlNodeSetPtr val1, xmlNodeSetPtr val2) { * xmlXPathNodeSetMergeAndClear: * @set1: the first NodeSet or NULL * @set2: the second NodeSet - * @hasSet2NsNodes: 1 if set2 contains namespaces nodes * - * Merges two nodesets, all nodes from @set2 are added to @set1 - * if @set1 is NULL, a new set is created and copied from @set2. + * Merges two nodesets, all nodes from @set2 are added to @set1. * Checks for duplicate nodes. Clears set2. * * Returns @set1 once extended or NULL in case of error. */ static xmlNodeSetPtr -xmlXPathNodeSetMergeAndClear(xmlNodeSetPtr set1, xmlNodeSetPtr set2, - int hasNullEntries) +xmlXPathNodeSetMergeAndClear(xmlNodeSetPtr set1, xmlNodeSetPtr set2) { - if ((set1 == NULL) && (hasNullEntries == 0)) { - /* - * Note that doing a memcpy of the list, namespace nodes are - * just assigned to set1, since set2 is cleared anyway. - */ - set1 = xmlXPathNodeSetCreateSize(set2->nodeNr); - if (set1 == NULL) - return(NULL); - if (set2->nodeNr != 0) { - memcpy(set1->nodeTab, set2->nodeTab, - set2->nodeNr * sizeof(xmlNodePtr)); - set1->nodeNr = set2->nodeNr; - } - } else { + { int i, j, initNbSet1; xmlNodePtr n1, n2; - if (set1 == NULL) - set1 = xmlXPathNodeSetCreate(NULL); - if (set1 == NULL) - return (NULL); - initNbSet1 = set1->nodeNr; for (i = 0;i < set2->nodeNr;i++) { n2 = set2->nodeTab[i]; /* - * Skip NULLed entries. - */ - if (n2 == NULL) - continue; - /* * Skip duplicates. */ for (j = 0; j < initNbSet1; j++) { @@ -4033,49 +4017,21 @@ skip_node: * xmlXPathNodeSetMergeAndClearNoDupls: * @set1: the first NodeSet or NULL * @set2: the second NodeSet - * @hasSet2NsNodes: 1 if set2 contains namespaces nodes * - * Merges two nodesets, all nodes from @set2 are added to @set1 - * if @set1 is NULL, a new set is created and copied from @set2. - * Doesn't chack for duplicate nodes. Clears set2. + * Merges two nodesets, all nodes from @set2 are added to @set1. + * Doesn't check for duplicate nodes. Clears set2. * * Returns @set1 once extended or NULL in case of error. */ static xmlNodeSetPtr -xmlXPathNodeSetMergeAndClearNoDupls(xmlNodeSetPtr set1, xmlNodeSetPtr set2, - int hasNullEntries) +xmlXPathNodeSetMergeAndClearNoDupls(xmlNodeSetPtr set1, xmlNodeSetPtr set2) { - if (set2 == NULL) - return(set1); - if ((set1 == NULL) && (hasNullEntries == 0)) { - /* - * Note that doing a memcpy of the list, namespace nodes are - * just assigned to set1, since set2 is cleared anyway. - */ - set1 = xmlXPathNodeSetCreateSize(set2->nodeNr); - if (set1 == NULL) - return(NULL); - if (set2->nodeNr != 0) { - memcpy(set1->nodeTab, set2->nodeTab, - set2->nodeNr * sizeof(xmlNodePtr)); - set1->nodeNr = set2->nodeNr; - } - } else { + { int i; xmlNodePtr n2; - if (set1 == NULL) - set1 = xmlXPathNodeSetCreate(NULL); - if (set1 == NULL) - return (NULL); - for (i = 0;i < set2->nodeNr;i++) { n2 = set2->nodeTab[i]; - /* - * Skip NULLed entries. - */ - if (n2 == NULL) - continue; if (set1->nodeMax == 0) { set1->nodeTab = (xmlNodePtr *) xmlMalloc( XML_NODESET_DEFAULT * sizeof(xmlNodePtr)); @@ -4346,6 +4302,7 @@ xmlXPathNewNodeSet(xmlNodePtr val) { memset(ret, 0 , (size_t) sizeof(xmlXPathObject)); ret->type = XPATH_NODESET; ret->boolval = 0; + /* TODO: Check memory error. */ ret->nodesetval = xmlXPathNodeSetCreate(val); /* @@ with_ns to check whether namespace nodes should be looked at @@ */ #ifdef XP_DEBUG_OBJ_USAGE @@ -4406,6 +4363,7 @@ xmlXPathNewNodeSetList(xmlNodeSetPtr val) ret = xmlXPathNewNodeSet(val->nodeTab[0]); if (ret) { for (i = 1; i < val->nodeNr; ++i) { + /* TODO: Propagate memory error. */ if (xmlXPathNodeSetAddUnique(ret->nodesetval, val->nodeTab[i]) < 0) break; } @@ -4477,6 +4435,7 @@ xmlXPathDifference (xmlNodeSetPtr nodes1, xmlNodeSetPtr nodes2) { if (xmlXPathNodeSetIsEmpty(nodes2)) return(nodes1); + /* TODO: Check memory error. */ ret = xmlXPathNodeSetCreate(NULL); if (xmlXPathNodeSetIsEmpty(nodes1)) return(ret); @@ -4486,6 +4445,7 @@ xmlXPathDifference (xmlNodeSetPtr nodes1, xmlNodeSetPtr nodes2) { for (i = 0; i < l1; i++) { cur = xmlXPathNodeSetItem(nodes1, i); if (!xmlXPathNodeSetContains(nodes2, cur)) { + /* TODO: Propagate memory error. */ if (xmlXPathNodeSetAddUnique(ret, cur) < 0) break; } @@ -4522,6 +4482,7 @@ xmlXPathIntersection (xmlNodeSetPtr nodes1, xmlNodeSetPtr nodes2) { for (i = 0; i < l1; i++) { cur = xmlXPathNodeSetItem(nodes1, i); if (xmlXPathNodeSetContains(nodes2, cur)) { + /* TODO: Propagate memory error. */ if (xmlXPathNodeSetAddUnique(ret, cur) < 0) break; } @@ -4560,6 +4521,7 @@ xmlXPathDistinctSorted (xmlNodeSetPtr nodes) { strval = xmlXPathCastNodeToString(cur); if (xmlHashLookup(hash, strval) == NULL) { xmlHashAddEntry(hash, strval, strval); + /* TODO: Propagate memory error. */ if (xmlXPathNodeSetAddUnique(ret, cur) < 0) break; } else { @@ -4653,6 +4615,7 @@ xmlXPathNodeLeadingSorted (xmlNodeSetPtr nodes, xmlNodePtr node) { cur = xmlXPathNodeSetItem(nodes, i); if (cur == node) break; + /* TODO: Propagate memory error. */ if (xmlXPathNodeSetAddUnique(ret, cur) < 0) break; } @@ -4758,6 +4721,7 @@ xmlXPathNodeTrailingSorted (xmlNodeSetPtr nodes, xmlNodePtr node) { cur = xmlXPathNodeSetItem(nodes, i); if (cur == node) break; + /* TODO: Propagate memory error. */ if (xmlXPathNodeSetAddUnique(ret, cur) < 0) break; } @@ -5457,6 +5421,7 @@ xmlXPathObjectCopy(xmlXPathObjectPtr val) { break; #endif case XPATH_NODESET: + /* TODO: Check memory error. */ ret->nodesetval = xmlXPathNodeSetMerge(NULL, val->nodesetval); /* Do not deallocate the copied tree value */ ret->boolval = 0; @@ -5944,7 +5909,7 @@ xmlXPathCastToNumber(xmlXPathObjectPtr val) { return(NAN); switch (val->type) { case XPATH_UNDEFINED: -#ifdef DEGUB_EXPR +#ifdef DEBUG_EXPR xmlGenericError(xmlGenericErrorContext, "NUMBER: undefined\n"); #endif ret = NAN; @@ -6153,6 +6118,9 @@ xmlXPathNewContext(xmlDocPtr doc) { ret->contextSize = -1; ret->proximityPosition = -1; + ret->maxDepth = INT_MAX; + ret->maxParserDepth = INT_MAX; + #ifdef XP_DEFAULT_CACHE_ON if (xmlXPathContextSetCache(ret, 1, -1, 0) == -1) { xmlXPathFreeContext(ret); @@ -6643,6 +6611,7 @@ xmlXPathCompareNodeSets(int inf, int strict, values2 = (double *) xmlMalloc(ns2->nodeNr * sizeof(double)); if (values2 == NULL) { + /* TODO: Propagate memory error. */ xmlXPathErrMemory(NULL, "comparing nodesets\n"); xmlXPathFreeObject(arg1); xmlXPathFreeObject(arg2); @@ -6903,11 +6872,13 @@ xmlXPathEqualNodeSets(xmlXPathObjectPtr arg1, xmlXPathObjectPtr arg2, int neq) { values1 = (xmlChar **) xmlMalloc(ns1->nodeNr * sizeof(xmlChar *)); if (values1 == NULL) { + /* TODO: Propagate memory error. */ xmlXPathErrMemory(NULL, "comparing nodesets\n"); return(0); } hashs1 = (unsigned int *) xmlMalloc(ns1->nodeNr * sizeof(unsigned int)); if (hashs1 == NULL) { + /* TODO: Propagate memory error. */ xmlXPathErrMemory(NULL, "comparing nodesets\n"); xmlFree(values1); return(0); @@ -6915,6 +6886,7 @@ xmlXPathEqualNodeSets(xmlXPathObjectPtr arg1, xmlXPathObjectPtr arg2, int neq) { memset(values1, 0, ns1->nodeNr * sizeof(xmlChar *)); values2 = (xmlChar **) xmlMalloc(ns2->nodeNr * sizeof(xmlChar *)); if (values2 == NULL) { + /* TODO: Propagate memory error. */ xmlXPathErrMemory(NULL, "comparing nodesets\n"); xmlFree(hashs1); xmlFree(values1); @@ -6922,6 +6894,7 @@ xmlXPathEqualNodeSets(xmlXPathObjectPtr arg1, xmlXPathObjectPtr arg2, int neq) { } hashs2 = (unsigned int *) xmlMalloc(ns2->nodeNr * sizeof(unsigned int)); if (hashs2 == NULL) { + /* TODO: Propagate memory error. */ xmlXPathErrMemory(NULL, "comparing nodesets\n"); xmlFree(hashs1); xmlFree(values1); @@ -7551,6 +7524,7 @@ xmlXPathMultValues(xmlXPathParserContextPtr ctxt) { * The numeric operators convert their operands to numbers as if * by calling the number function. */ +ATTRIBUTE_NO_SANITIZE("float-divide-by-zero") void xmlXPathDivValues(xmlXPathParserContextPtr ctxt) { xmlXPathObjectPtr arg; @@ -7623,7 +7597,7 @@ typedef xmlNodePtr (*xmlXPathTraversalFunctionExt) * Used for merging node sets in xmlXPathCollectAndTest(). */ typedef xmlNodeSetPtr (*xmlXPathNodeSetMergeFunction) - (xmlNodeSetPtr, xmlNodeSetPtr, int); + (xmlNodeSetPtr, xmlNodeSetPtr); /** @@ -8562,28 +8536,9 @@ xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs) { if ((cur == NULL) || (cur->nodesetval == NULL)) valuePush(ctxt, xmlXPathCacheNewFloat(ctxt->context, (double) 0)); - else if ((cur->type == XPATH_NODESET) || (cur->type == XPATH_XSLT_TREE)) { + else valuePush(ctxt, xmlXPathCacheNewFloat(ctxt->context, (double) cur->nodesetval->nodeNr)); - } else { - if ((cur->nodesetval->nodeNr != 1) || - (cur->nodesetval->nodeTab == NULL)) { - valuePush(ctxt, xmlXPathCacheNewFloat(ctxt->context, (double) 0)); - } else { - xmlNodePtr tmp; - int i = 0; - - tmp = cur->nodesetval->nodeTab[0]; - if ((tmp != NULL) && (tmp->type != XML_NAMESPACE_DECL)) { - tmp = tmp->children; - while (tmp != NULL) { - tmp = tmp->next; - i++; - } - } - valuePush(ctxt, xmlXPathCacheNewFloat(ctxt->context, (double) i)); - } - } xmlXPathReleaseObject(ctxt->context, cur); } @@ -8621,7 +8576,7 @@ xmlXPathGetElementsByIds (xmlDocPtr doc, const xmlChar *ids) { * We used to check the fact that the value passed * was an NCName, but this generated much troubles for * me and Aleksey Sanin, people blatantly violated that - * constaint, like Visa3D spec. + * constraint, like Visa3D spec. * if (xmlValidateNCName(ID, 1) == 0) */ attr = xmlGetID(doc, ID); @@ -8632,6 +8587,7 @@ xmlXPathGetElementsByIds (xmlDocPtr doc, const xmlChar *ids) { elem = (xmlNodePtr) attr; else elem = NULL; + /* TODO: Check memory error. */ if (elem != NULL) xmlXPathNodeSetAdd(ret, elem); } @@ -8675,18 +8631,15 @@ xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs) { xmlNodeSetPtr ns; int i; + /* TODO: Check memory error. */ ret = xmlXPathNodeSetCreate(NULL); - /* - * FIXME -- in an out-of-memory condition this will behave badly. - * The solution is not clear -- we already popped an item from - * ctxt, so the object is in a corrupt state. - */ if (obj->nodesetval != NULL) { for (i = 0; i < obj->nodesetval->nodeNr; i++) { tokens = xmlXPathCastNodeToString(obj->nodesetval->nodeTab[i]); ns = xmlXPathGetElementsByIds(ctxt->context->doc, tokens); + /* TODO: Check memory error. */ ret = xmlXPathNodeSetMerge(ret, ns); xmlXPathFreeNodeSet(ns); if (tokens != NULL) @@ -8698,6 +8651,7 @@ xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs) { return; } obj = xmlXPathCacheConvertString(ctxt->context, obj); + if (obj == NULL) return; ret = xmlXPathGetElementsByIds(ctxt->context->doc, obj->stringval); valuePush(ctxt, xmlXPathCacheWrapNodeSet(ctxt->context, ret)); xmlXPathReleaseObject(ctxt->context, obj); @@ -9135,8 +9089,7 @@ void xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs) { xmlXPathObjectPtr str, start, len; double le=0, in; - int i, l, m; - xmlChar *ret; + int i = 1, j = INT_MAX; if (nargs < 2) { CHECK_ARITY(2); @@ -9163,67 +9116,42 @@ xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs) { CAST_TO_STRING; CHECK_TYPE(XPATH_STRING); str = valuePop(ctxt); - m = xmlUTF8Strlen((const unsigned char *)str->stringval); - /* - * If last pos not present, calculate last position - */ - if (nargs != 3) { - le = (double)m; - if (in < 1.0) - in = 1.0; + if (!(in < INT_MAX)) { /* Logical NOT to handle NaNs */ + i = INT_MAX; + } else if (in >= 1.0) { + i = (int)in; + if (in - floor(in) >= 0.5) + i += 1; } - /* Need to check for the special cases where either - * the index is NaN, the length is NaN, or both - * arguments are infinity (relying on Inf + -Inf = NaN) - */ - if (!xmlXPathIsInf(in) && !xmlXPathIsNaN(in + le)) { - /* - * To meet the requirements of the spec, the arguments - * must be converted to integer format before - * initial index calculations are done - * - * First we go to integer form, rounding up - * and checking for special cases - */ - i = (int) in; - if (((double)i)+0.5 <= in) i++; - - if (xmlXPathIsInf(le) == 1) { - l = m; - if (i < 1) - i = 1; - } - else if (xmlXPathIsInf(le) == -1 || le < 0.0) - l = 0; - else { - l = (int) le; - if (((double)l)+0.5 <= le) l++; - } + if (nargs == 3) { + double rin, rle, end; - /* Now we normalize inidices */ - i -= 1; - l += i; - if (i < 0) - i = 0; - if (l > m) - l = m; + rin = floor(in); + if (in - rin >= 0.5) + rin += 1.0; - /* number of chars to copy */ - l -= i; + rle = floor(le); + if (le - rle >= 0.5) + rle += 1.0; - ret = xmlUTF8Strsub(str->stringval, i, l); - } - else { - ret = NULL; + end = rin + rle; + if (!(end >= 1.0)) { /* Logical NOT to handle NaNs */ + j = 1; + } else if (end < INT_MAX) { + j = (int)end; + } } - if (ret == NULL) - valuePush(ctxt, xmlXPathCacheNewCString(ctxt->context, "")); - else { + + if (i < j) { + xmlChar *ret = xmlUTF8Strsub(str->stringval, i - 1, j - i); valuePush(ctxt, xmlXPathCacheNewString(ctxt->context, ret)); xmlFree(ret); + } else { + valuePush(ctxt, xmlXPathCacheNewCString(ctxt->context, "")); } + xmlXPathReleaseObject(ctxt->context, str); } @@ -9682,7 +9610,12 @@ xmlXPathCeilingFunction(xmlXPathParserContextPtr ctxt, int nargs) { CAST_TO_NUMBER; CHECK_TYPE(XPATH_NUMBER); +#ifdef _AIX + /* Work around buggy ceil() function on AIX */ + ctxt->value->floatval = copysign(ceil(ctxt->value->floatval), ctxt->value->floatval); +#else ctxt->value->floatval = ceil(ctxt->value->floatval); +#endif } /** @@ -9999,15 +9932,19 @@ xmlXPathParseNameComplex(xmlXPathParserContextPtr ctxt, int qualified) { (IS_COMBINING(c)) || (IS_EXTENDER(c))) { if (len + 10 > max) { + xmlChar *tmp; if (max > XML_MAX_NAME_LENGTH) { + xmlFree(buffer); XP_ERRORNULL(XPATH_EXPR_ERROR); } max *= 2; - buffer = (xmlChar *) xmlRealloc(buffer, - max * sizeof(xmlChar)); - if (buffer == NULL) { + tmp = (xmlChar *) xmlRealloc(buffer, + max * sizeof(xmlChar)); + if (tmp == NULL) { + xmlFree(buffer); XP_ERRORNULL(XPATH_MEMORY_ERROR); } + buffer = tmp; } COPY_BUF(l,buffer,len,c); NEXTL(l); @@ -10149,6 +10086,7 @@ xmlXPathCompNumber(xmlXPathParserContextPtr ctxt) int ok = 0; int exponent = 0; int is_exponent_negative = 0; + xmlXPathObjectPtr num; #ifdef __GNUC__ unsigned long tmp = 0; double temp; @@ -10221,8 +10159,13 @@ xmlXPathCompNumber(xmlXPathParserContextPtr ctxt) exponent = -exponent; ret *= pow(10.0, (double) exponent); } - PUSH_LONG_EXPR(XPATH_OP_VALUE, XPATH_NUMBER, 0, 0, - xmlXPathCacheNewFloat(ctxt->context, ret), NULL); + num = xmlXPathCacheNewFloat(ctxt->context, ret); + if (num == NULL) { + ctxt->error = XPATH_MEMORY_ERROR; + } else if (PUSH_LONG_EXPR(XPATH_OP_VALUE, XPATH_NUMBER, 0, 0, num, + NULL) == -1) { + xmlXPathReleaseObject(ctxt->context, num); + } } /** @@ -10284,6 +10227,7 @@ static void xmlXPathCompLiteral(xmlXPathParserContextPtr ctxt) { const xmlChar *q; xmlChar *ret = NULL; + xmlXPathObjectPtr lit; if (CUR == '"') { NEXT; @@ -10311,8 +10255,13 @@ xmlXPathCompLiteral(xmlXPathParserContextPtr ctxt) { XP_ERROR(XPATH_START_LITERAL_ERROR); } if (ret == NULL) return; - PUSH_LONG_EXPR(XPATH_OP_VALUE, XPATH_STRING, 0, 0, - xmlXPathCacheNewString(ctxt->context, ret), NULL); + lit = xmlXPathCacheNewString(ctxt->context, ret); + if (lit == NULL) { + ctxt->error = XPATH_MEMORY_ERROR; + } else if (PUSH_LONG_EXPR(XPATH_OP_VALUE, XPATH_STRING, 0, 0, lit, + NULL) == -1) { + xmlXPathReleaseObject(ctxt->context, lit); + } xmlFree(ret); } @@ -10349,8 +10298,10 @@ xmlXPathCompVariableReference(xmlXPathParserContextPtr ctxt) { XP_ERROR(XPATH_VARIABLE_REF_ERROR); } ctxt->comp->last = -1; - PUSH_LONG_EXPR(XPATH_OP_VARIABLE, 0, 0, 0, - name, prefix); + if (PUSH_LONG_EXPR(XPATH_OP_VARIABLE, 0, 0, 0, name, prefix) == -1) { + xmlFree(prefix); + xmlFree(name); + } SKIP_BLANKS; if ((ctxt->context != NULL) && (ctxt->context->flags & XML_XPATH_NOVAR)) { XP_ERROR(XPATH_FORBID_VARIABLE_ERROR); @@ -10457,8 +10408,10 @@ xmlXPathCompFunctionCall(xmlXPathParserContextPtr ctxt) { SKIP_BLANKS; } } - PUSH_LONG_EXPR(XPATH_OP_FUNCTION, nbargs, 0, 0, - name, prefix); + if (PUSH_LONG_EXPR(XPATH_OP_FUNCTION, nbargs, 0, 0, name, prefix) == -1) { + xmlFree(prefix); + xmlFree(name); + } NEXT; SKIP_BLANKS; } @@ -10899,10 +10852,7 @@ xmlXPathCompRelationalExpr(xmlXPathParserContextPtr ctxt) { xmlXPathCompAdditiveExpr(ctxt); CHECK_ERROR; SKIP_BLANKS; - while ((CUR == '<') || - (CUR == '>') || - ((CUR == '<') && (NXT(1) == '=')) || - ((CUR == '>') && (NXT(1) == '='))) { + while ((CUR == '<') || (CUR == '>')) { int inf, strict; int op1 = ctxt->comp->last; @@ -10995,6 +10945,14 @@ xmlXPathCompAndExpr(xmlXPathParserContextPtr ctxt) { */ static void xmlXPathCompileExpr(xmlXPathParserContextPtr ctxt, int sort) { + xmlXPathContextPtr xpctxt = ctxt->context; + + if (xpctxt != NULL) { + if (xpctxt->depth >= xpctxt->maxParserDepth) + XP_ERROR(XPATH_RECURSION_LIMIT_EXCEEDED); + xpctxt->depth += 1; + } + xmlXPathCompAndExpr(ctxt); CHECK_ERROR; SKIP_BLANKS; @@ -11016,6 +10974,9 @@ xmlXPathCompileExpr(xmlXPathParserContextPtr ctxt, int sort) { */ PUSH_UNARY_EXPR(XPATH_OP_SORT, ctxt->comp->last , 0, 0); } + + if (xpctxt != NULL) + xpctxt->depth -= 1; } /** @@ -11091,7 +11052,7 @@ xmlXPathCompPredicate(xmlXPathParserContextPtr ctxt, int filter) { */ static xmlChar * xmlXPathCompNodeTest(xmlXPathParserContextPtr ctxt, xmlXPathTestVal *test, - xmlXPathTypeVal *type, const xmlChar **prefix, + xmlXPathTypeVal *type, xmlChar **prefix, xmlChar *name) { int blanks; @@ -11322,7 +11283,7 @@ xmlXPathCompStep(xmlXPathParserContextPtr ctxt) { SKIP_BLANKS; } else { xmlChar *name = NULL; - const xmlChar *prefix = NULL; + xmlChar *prefix = NULL; xmlXPathTestVal test = (xmlXPathTestVal) 0; xmlXPathAxisVal axis = (xmlXPathAxisVal) 0; xmlXPathTypeVal type = (xmlXPathTypeVal) 0; @@ -11432,9 +11393,11 @@ eval_predicates: PUSH_BINARY_EXPR(XPATH_OP_RANGETO, op2, op1, 0, 0); } else #endif - PUSH_FULL_EXPR(XPATH_OP_COLLECT, op1, ctxt->comp->last, axis, - test, type, (void *)prefix, (void *)name); - + if (PUSH_FULL_EXPR(XPATH_OP_COLLECT, op1, ctxt->comp->last, axis, + test, type, (void *)prefix, (void *)name) == -1) { + xmlFree(prefix); + xmlFree(name); + } } #ifdef DEBUG_STEP xmlGenericError(xmlGenericErrorContext, "Step : "); @@ -11634,366 +11597,300 @@ xmlXPathDebugDumpStepAxis(xmlXPathStepOpPtr op, } #endif /* DEBUG_STEP */ -static int -xmlXPathCompOpEvalPredicate(xmlXPathParserContextPtr ctxt, - xmlXPathStepOpPtr op, - xmlNodeSetPtr set, - int contextSize, - int hasNsNodes) +/** + * xmlXPathNodeSetFilter: + * @ctxt: the XPath Parser context + * @set: the node set to filter + * @filterOpIndex: the index of the predicate/filter op + * @minPos: minimum position in the filtered set (1-based) + * @maxPos: maximum position in the filtered set (1-based) + * @hasNsNodes: true if the node set may contain namespace nodes + * + * Filter a node set, keeping only nodes for which the predicate expression + * matches. Afterwards, keep only nodes between minPos and maxPos in the + * filtered result. + */ +static void +xmlXPathNodeSetFilter(xmlXPathParserContextPtr ctxt, + xmlNodeSetPtr set, + int filterOpIndex, + int minPos, int maxPos, + int hasNsNodes) { - if (op->ch1 != -1) { - xmlXPathCompExprPtr comp = ctxt->comp; - /* - * Process inner predicates first. - */ - if (comp->steps[op->ch1].op != XPATH_OP_PREDICATE) { - /* - * TODO: raise an internal error. - */ - } - contextSize = xmlXPathCompOpEvalPredicate(ctxt, - &comp->steps[op->ch1], set, contextSize, hasNsNodes); - CHECK_ERROR0; - if (contextSize <= 0) - return(0); + xmlXPathContextPtr xpctxt; + xmlNodePtr oldnode; + xmlDocPtr olddoc; + xmlXPathStepOpPtr filterOp; + int oldcs, oldpp; + int i, j, pos; + + if ((set == NULL) || (set->nodeNr == 0)) + return; + + /* + * Check if the node set contains a sufficient number of nodes for + * the requested range. + */ + if (set->nodeNr < minPos) { + xmlXPathNodeSetClear(set, hasNsNodes); + return; } - if (op->ch2 != -1) { - xmlXPathContextPtr xpctxt = ctxt->context; - xmlNodePtr contextNode, oldContextNode; - xmlDocPtr oldContextDoc; - int oldcs, oldpp; - int i, res, contextPos = 0, newContextSize; - xmlXPathStepOpPtr exprOp; - xmlXPathObjectPtr contextObj = NULL, exprRes = NULL; -#ifdef LIBXML_XPTR_ENABLED - /* - * URGENT TODO: Check the following: - * We don't expect location sets if evaluating prediates, right? - * Only filters should expect location sets, right? - */ -#endif - /* - * SPEC XPath 1.0: - * "For each node in the node-set to be filtered, the - * PredicateExpr is evaluated with that node as the - * context node, with the number of nodes in the - * node-set as the context size, and with the proximity - * position of the node in the node-set with respect to - * the axis as the context position;" - * @oldset is the node-set" to be filtered. - * - * SPEC XPath 1.0: - * "only predicates change the context position and - * context size (see [2.4 Predicates])." - * Example: - * node-set context pos - * nA 1 - * nB 2 - * nC 3 - * After applying predicate [position() > 1] : - * node-set context pos - * nB 1 - * nC 2 - */ - oldContextNode = xpctxt->node; - oldContextDoc = xpctxt->doc; - oldcs = xpctxt->contextSize; - oldpp = xpctxt->proximityPosition; - /* - * Get the expression of this predicate. - */ - exprOp = &ctxt->comp->steps[op->ch2]; - newContextSize = 0; - for (i = 0; i < set->nodeNr; i++) { - if (set->nodeTab[i] == NULL) - continue; + xpctxt = ctxt->context; + oldnode = xpctxt->node; + olddoc = xpctxt->doc; + oldcs = xpctxt->contextSize; + oldpp = xpctxt->proximityPosition; + filterOp = &ctxt->comp->steps[filterOpIndex]; - contextNode = set->nodeTab[i]; - xpctxt->node = contextNode; - xpctxt->contextSize = contextSize; - xpctxt->proximityPosition = ++contextPos; + xpctxt->contextSize = set->nodeNr; - /* - * Also set the xpath document in case things like - * key() are evaluated in the predicate. - */ - if ((contextNode->type != XML_NAMESPACE_DECL) && - (contextNode->doc != NULL)) - xpctxt->doc = contextNode->doc; - /* - * Evaluate the predicate expression with 1 context node - * at a time; this node is packaged into a node set; this - * node set is handed over to the evaluation mechanism. - */ - if (contextObj == NULL) - contextObj = xmlXPathCacheNewNodeSet(xpctxt, contextNode); - else { - if (xmlXPathNodeSetAddUnique(contextObj->nodesetval, - contextNode) < 0) { - ctxt->error = XPATH_MEMORY_ERROR; - goto evaluation_exit; - } - } + for (i = 0, j = 0, pos = 1; i < set->nodeNr; i++) { + xmlNodePtr node = set->nodeTab[i]; + int res; - valuePush(ctxt, contextObj); + xpctxt->node = node; + xpctxt->proximityPosition = i + 1; - res = xmlXPathCompOpEvalToBoolean(ctxt, exprOp, 1); + /* + * Also set the xpath document in case things like + * key() are evaluated in the predicate. + * + * TODO: Get real doc for namespace nodes. + */ + if ((node->type != XML_NAMESPACE_DECL) && + (node->doc != NULL)) + xpctxt->doc = node->doc; - if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) { - xmlXPathNodeSetClear(set, hasNsNodes); - newContextSize = 0; - goto evaluation_exit; - } + res = xmlXPathCompOpEvalToBoolean(ctxt, filterOp, 1); - if (res != 0) { - newContextSize++; - } else { - /* - * Remove the entry from the initial node set. - */ - set->nodeTab[i] = NULL; - if (contextNode->type == XML_NAMESPACE_DECL) - xmlXPathNodeSetFreeNs((xmlNsPtr) contextNode); - } - if (ctxt->value == contextObj) { - /* - * Don't free the temporary XPath object holding the - * context node, in order to avoid massive recreation - * inside this loop. - */ - valuePop(ctxt); - xmlXPathNodeSetClear(contextObj->nodesetval, hasNsNodes); - } else { - /* - * TODO: The object was lost in the evaluation machinery. - * Can this happen? Maybe in internal-error cases. - */ - contextObj = NULL; - } - } + if (ctxt->error != XPATH_EXPRESSION_OK) + goto exit; + if (res < 0) { + /* Shouldn't happen */ + xmlXPathErr(ctxt, XPATH_EXPR_ERROR); + goto exit; + } - if (contextObj != NULL) { - if (ctxt->value == contextObj) - valuePop(ctxt); - xmlXPathReleaseObject(xpctxt, contextObj); - } -evaluation_exit: - if (exprRes != NULL) - xmlXPathReleaseObject(ctxt->context, exprRes); - /* - * Reset/invalidate the context. - */ - xpctxt->node = oldContextNode; - xpctxt->doc = oldContextDoc; - xpctxt->contextSize = oldcs; - xpctxt->proximityPosition = oldpp; - return(newContextSize); - } - return(contextSize); -} + if ((res != 0) && ((pos >= minPos) && (pos <= maxPos))) { + if (i != j) { + set->nodeTab[j] = node; + set->nodeTab[i] = NULL; + } -static int -xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt, - xmlXPathStepOpPtr op, - xmlNodeSetPtr set, - int contextSize, - int minPos, - int maxPos, - int hasNsNodes) -{ - if (op->ch1 != -1) { - xmlXPathCompExprPtr comp = ctxt->comp; - if (comp->steps[op->ch1].op != XPATH_OP_PREDICATE) { - /* - * TODO: raise an internal error. - */ - } - contextSize = xmlXPathCompOpEvalPredicate(ctxt, - &comp->steps[op->ch1], set, contextSize, hasNsNodes); - CHECK_ERROR0; - if (contextSize <= 0) - return(0); + j += 1; + } else { + /* Remove the entry from the initial node set. */ + set->nodeTab[i] = NULL; + if (node->type == XML_NAMESPACE_DECL) + xmlXPathNodeSetFreeNs((xmlNsPtr) node); + } + + if (res != 0) { + if (pos == maxPos) { + /* Clear remaining nodes and exit loop. */ + if (hasNsNodes) { + for (i++; i < set->nodeNr; i++) { + node = set->nodeTab[i]; + if ((node != NULL) && + (node->type == XML_NAMESPACE_DECL)) + xmlXPathNodeSetFreeNs((xmlNsPtr) node); + } + } + break; + } + + pos += 1; + } } - /* - * Check if the node set contains a sufficient number of nodes for - * the requested range. - */ - if (contextSize < minPos) { - xmlXPathNodeSetClear(set, hasNsNodes); - return(0); + + set->nodeNr = j; + + /* If too many elements were removed, shrink table to preserve memory. */ + if ((set->nodeMax > XML_NODESET_DEFAULT) && + (set->nodeNr < set->nodeMax / 2)) { + xmlNodePtr *tmp; + int nodeMax = set->nodeNr; + + if (nodeMax < XML_NODESET_DEFAULT) + nodeMax = XML_NODESET_DEFAULT; + tmp = (xmlNodePtr *) xmlRealloc(set->nodeTab, + nodeMax * sizeof(xmlNodePtr)); + if (tmp == NULL) { + xmlXPathPErrMemory(ctxt, "shrinking nodeset\n"); + } else { + set->nodeTab = tmp; + set->nodeMax = nodeMax; + } } - if (op->ch2 == -1) { - /* - * TODO: Can this ever happen? - */ - return (contextSize); - } else { - xmlDocPtr oldContextDoc; - int oldcs, oldpp; - int i, pos = 0, newContextSize = 0, contextPos = 0, res; - xmlXPathStepOpPtr exprOp; - xmlXPathObjectPtr contextObj = NULL, exprRes = NULL; - xmlNodePtr oldContextNode, contextNode = NULL; - xmlXPathContextPtr xpctxt = ctxt->context; - int frame; + +exit: + xpctxt->node = oldnode; + xpctxt->doc = olddoc; + xpctxt->contextSize = oldcs; + xpctxt->proximityPosition = oldpp; +} #ifdef LIBXML_XPTR_ENABLED - /* - * URGENT TODO: Check the following: - * We don't expect location sets if evaluating prediates, right? - * Only filters should expect location sets, right? - */ -#endif /* LIBXML_XPTR_ENABLED */ +/** + * xmlXPathLocationSetFilter: + * @ctxt: the XPath Parser context + * @locset: the location set to filter + * @filterOpIndex: the index of the predicate/filter op + * @minPos: minimum position in the filtered set (1-based) + * @maxPos: maximum position in the filtered set (1-based) + * + * Filter a location set, keeping only nodes for which the predicate + * expression matches. Afterwards, keep only nodes between minPos and maxPos + * in the filtered result. + */ +static void +xmlXPathLocationSetFilter(xmlXPathParserContextPtr ctxt, + xmlLocationSetPtr locset, + int filterOpIndex, + int minPos, int maxPos) +{ + xmlXPathContextPtr xpctxt; + xmlNodePtr oldnode; + xmlDocPtr olddoc; + xmlXPathStepOpPtr filterOp; + int oldcs, oldpp; + int i, j, pos; - /* - * Save old context. - */ - oldContextNode = xpctxt->node; - oldContextDoc = xpctxt->doc; - oldcs = xpctxt->contextSize; - oldpp = xpctxt->proximityPosition; - /* - * Get the expression of this predicate. - */ - exprOp = &ctxt->comp->steps[op->ch2]; - for (i = 0; i < set->nodeNr; i++) { - xmlXPathObjectPtr tmp; + if ((locset == NULL) || (locset->locNr == 0) || (filterOpIndex == -1)) + return; - if (set->nodeTab[i] == NULL) - continue; + xpctxt = ctxt->context; + oldnode = xpctxt->node; + olddoc = xpctxt->doc; + oldcs = xpctxt->contextSize; + oldpp = xpctxt->proximityPosition; + filterOp = &ctxt->comp->steps[filterOpIndex]; - contextNode = set->nodeTab[i]; - xpctxt->node = contextNode; - xpctxt->contextSize = contextSize; - xpctxt->proximityPosition = ++contextPos; + xpctxt->contextSize = locset->locNr; - /* - * Initialize the new set. - * Also set the xpath document in case things like - * key() evaluation are attempted on the predicate - */ - if ((contextNode->type != XML_NAMESPACE_DECL) && - (contextNode->doc != NULL)) - xpctxt->doc = contextNode->doc; - /* - * Evaluate the predicate expression with 1 context node - * at a time; this node is packaged into a node set; this - * node set is handed over to the evaluation mechanism. - */ - if (contextObj == NULL) - contextObj = xmlXPathCacheNewNodeSet(xpctxt, contextNode); - else { - if (xmlXPathNodeSetAddUnique(contextObj->nodesetval, - contextNode) < 0) { - ctxt->error = XPATH_MEMORY_ERROR; - goto evaluation_exit; - } - } + for (i = 0, j = 0, pos = 1; i < locset->locNr; i++) { + xmlNodePtr contextNode = locset->locTab[i]->user; + int res; - valuePush(ctxt, contextObj); - frame = xmlXPathSetFrame(ctxt); - res = xmlXPathCompOpEvalToBoolean(ctxt, exprOp, 1); - xmlXPathPopFrame(ctxt, frame); - tmp = valuePop(ctxt); + xpctxt->node = contextNode; + xpctxt->proximityPosition = i + 1; - if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) { - while (tmp != contextObj) { - /* - * Free up the result - * then pop off contextObj, which will be freed later - */ - xmlXPathReleaseObject(xpctxt, tmp); - tmp = valuePop(ctxt); + /* + * Also set the xpath document in case things like + * key() are evaluated in the predicate. + * + * TODO: Get real doc for namespace nodes. + */ + if ((contextNode->type != XML_NAMESPACE_DECL) && + (contextNode->doc != NULL)) + xpctxt->doc = contextNode->doc; + + res = xmlXPathCompOpEvalToBoolean(ctxt, filterOp, 1); + + if (ctxt->error != XPATH_EXPRESSION_OK) + goto exit; + if (res < 0) { + /* Shouldn't happen */ + xmlXPathErr(ctxt, XPATH_EXPR_ERROR); + goto exit; + } + + if ((res != 0) && ((pos >= minPos) && (pos <= maxPos))) { + if (i != j) { + locset->locTab[j] = locset->locTab[i]; + locset->locTab[i] = NULL; + } + + j += 1; + } else { + /* Remove the entry from the initial location set. */ + xmlXPathFreeObject(locset->locTab[i]); + locset->locTab[i] = NULL; + } + + if (res != 0) { + if (pos == maxPos) { + /* Clear remaining nodes and exit loop. */ + for (i++; i < locset->locNr; i++) { + xmlXPathFreeObject(locset->locTab[i]); } - goto evaluation_error; - } - /* push the result back onto the stack */ - valuePush(ctxt, tmp); + break; + } - if (res) - pos++; + pos += 1; + } + } - if (res && (pos >= minPos) && (pos <= maxPos)) { - /* - * Fits in the requested range. - */ - newContextSize++; - if (minPos == maxPos) { - /* - * Only 1 node was requested. - */ - if (contextNode->type == XML_NAMESPACE_DECL) { - /* - * As always: take care of those nasty - * namespace nodes. - */ - set->nodeTab[i] = NULL; - } - xmlXPathNodeSetClear(set, hasNsNodes); - set->nodeNr = 1; - set->nodeTab[0] = contextNode; - goto evaluation_exit; - } - if (pos == maxPos) { - /* - * We are done. - */ - xmlXPathNodeSetClearFromPos(set, i +1, hasNsNodes); - goto evaluation_exit; - } - } else { - /* - * Remove the entry from the initial node set. - */ - set->nodeTab[i] = NULL; - if (contextNode->type == XML_NAMESPACE_DECL) - xmlXPathNodeSetFreeNs((xmlNsPtr) contextNode); - } - if (exprRes != NULL) { - xmlXPathReleaseObject(ctxt->context, exprRes); - exprRes = NULL; - } - if (ctxt->value == contextObj) { - /* - * Don't free the temporary XPath object holding the - * context node, in order to avoid massive recreation - * inside this loop. - */ - valuePop(ctxt); - xmlXPathNodeSetClear(contextObj->nodesetval, hasNsNodes); - } else { - /* - * The object was lost in the evaluation machinery. - * Can this happen? Maybe in case of internal-errors. - */ - contextObj = NULL; - } - } - goto evaluation_exit; + locset->locNr = j; -evaluation_error: - xmlXPathNodeSetClear(set, hasNsNodes); - newContextSize = 0; + /* If too many elements were removed, shrink table to preserve memory. */ + if ((locset->locMax > XML_NODESET_DEFAULT) && + (locset->locNr < locset->locMax / 2)) { + xmlXPathObjectPtr *tmp; + int locMax = locset->locNr; -evaluation_exit: - if (contextObj != NULL) { - if (ctxt->value == contextObj) - valuePop(ctxt); - xmlXPathReleaseObject(xpctxt, contextObj); - } - if (exprRes != NULL) - xmlXPathReleaseObject(ctxt->context, exprRes); + if (locMax < XML_NODESET_DEFAULT) + locMax = XML_NODESET_DEFAULT; + tmp = (xmlXPathObjectPtr *) xmlRealloc(locset->locTab, + locMax * sizeof(xmlXPathObjectPtr)); + if (tmp == NULL) { + xmlXPathPErrMemory(ctxt, "shrinking locset\n"); + } else { + locset->locTab = tmp; + locset->locMax = locMax; + } + } + +exit: + xpctxt->node = oldnode; + xpctxt->doc = olddoc; + xpctxt->contextSize = oldcs; + xpctxt->proximityPosition = oldpp; +} +#endif /* LIBXML_XPTR_ENABLED */ + +/** + * xmlXPathCompOpEvalPredicate: + * @ctxt: the XPath Parser context + * @op: the predicate op + * @set: the node set to filter + * @minPos: minimum position in the filtered set (1-based) + * @maxPos: maximum position in the filtered set (1-based) + * @hasNsNodes: true if the node set may contain namespace nodes + * + * Filter a node set, keeping only nodes for which the sequence of predicate + * expressions matches. Afterwards, keep only nodes between minPos and maxPos + * in the filtered result. + */ +static void +xmlXPathCompOpEvalPredicate(xmlXPathParserContextPtr ctxt, + xmlXPathStepOpPtr op, + xmlNodeSetPtr set, + int minPos, int maxPos, + int hasNsNodes) +{ + if (op->ch1 != -1) { + xmlXPathCompExprPtr comp = ctxt->comp; /* - * Reset/invalidate the context. + * Process inner predicates first. */ - xpctxt->node = oldContextNode; - xpctxt->doc = oldContextDoc; - xpctxt->contextSize = oldcs; - xpctxt->proximityPosition = oldpp; - return(newContextSize); + if (comp->steps[op->ch1].op != XPATH_OP_PREDICATE) { + xmlGenericError(xmlGenericErrorContext, + "xmlXPathCompOpEvalPredicate: Expected a predicate\n"); + XP_ERROR(XPATH_INVALID_OPERAND); + } + if (ctxt->context->depth >= ctxt->context->maxDepth) + XP_ERROR(XPATH_RECURSION_LIMIT_EXCEEDED); + ctxt->context->depth += 1; + xmlXPathCompOpEvalPredicate(ctxt, &comp->steps[op->ch1], set, + 1, set->nodeNr, hasNsNodes); + ctxt->context->depth -= 1; + CHECK_ERROR; } - return(contextSize); + + if (op->ch2 != -1) + xmlXPathNodeSetFilter(ctxt, set, op->ch2, minPos, maxPos, hasNsNodes); } static int @@ -12013,7 +11910,7 @@ xmlXPathIsPositionalPredicate(xmlXPathParserContextPtr ctxt, * 1) For predicates (XPATH_OP_PREDICATE): * - an inner predicate operator * 2) For filters (XPATH_OP_FILTER): - * - an inner filter operater OR + * - an inner filter operator OR * - an expression selecting the node set. * E.g. "key('a', 'b')" or "(//foo | //bar)". */ @@ -12111,7 +12008,7 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt, /* First predicate operator */ xmlXPathStepOpPtr predOp; int maxPos; /* The requested position() (when a "[n]" predicate) */ - int hasPredicateRange, hasAxisRange, pos, size, newSize; + int hasPredicateRange, hasAxisRange, pos; int breakOnFirstHit; xmlXPathTraversalFunction next = NULL; @@ -12304,6 +12201,7 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt, if (seq == NULL) { seq = xmlXPathNodeSetCreate(NULL); if (seq == NULL) { + /* TODO: Propagate memory error. */ total = 0; goto error; } @@ -12315,6 +12213,9 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt, cur = NULL; hasNsNodes = 0; do { + if (OP_LIMIT_EXCEEDED(ctxt, 1)) + goto error; + cur = next(ctxt, cur); if (cur == NULL) break; @@ -12522,7 +12423,8 @@ axis_range_end: /* ----------------------------------------------------- */ outSeq = seq; seq = NULL; } else - outSeq = mergeAndClear(outSeq, seq, 0); + /* TODO: Check memory error. */ + outSeq = mergeAndClear(outSeq, seq); /* * Break if only a true/false result was requested. */ @@ -12539,7 +12441,8 @@ first_hit: /* ---------------------------------------------------------- */ outSeq = seq; seq = NULL; } else - outSeq = mergeAndClear(outSeq, seq, 0); + /* TODO: Check memory error. */ + outSeq = mergeAndClear(outSeq, seq); break; #ifdef DEBUG_STEP @@ -12583,51 +12486,20 @@ apply_predicates: /* --------------------------------------------------- */ * For the moment, I'll try to solve this with a recursive * function: xmlXPathCompOpEvalPredicate(). */ - size = seq->nodeNr; if (hasPredicateRange != 0) - newSize = xmlXPathCompOpEvalPositionalPredicate(ctxt, - predOp, seq, size, maxPos, maxPos, hasNsNodes); + xmlXPathCompOpEvalPredicate(ctxt, predOp, seq, maxPos, maxPos, + hasNsNodes); else - newSize = xmlXPathCompOpEvalPredicate(ctxt, - predOp, seq, size, hasNsNodes); + xmlXPathCompOpEvalPredicate(ctxt, predOp, seq, 1, seq->nodeNr, + hasNsNodes); if (ctxt->error != XPATH_EXPRESSION_OK) { total = 0; goto error; } - /* - * Add the filtered set of nodes to the result node set. - */ - if (newSize == 0) { - /* - * The predicates filtered all nodes out. - */ - xmlXPathNodeSetClear(seq, hasNsNodes); - } else if (seq->nodeNr > 0) { - /* - * Add to result set. - */ - if (outSeq == NULL) { - if (size != newSize) { - /* - * We need to merge and clear here, since - * the sequence will contained NULLed entries. - */ - outSeq = mergeAndClear(NULL, seq, 1); - } else { - outSeq = seq; - seq = NULL; - } - } else - outSeq = mergeAndClear(outSeq, seq, - (size != newSize) ? 1: 0); - /* - * Break if only a true/false result was requested. - */ - if (toBool) - break; - } - } else if (seq->nodeNr > 0) { + } + + if (seq->nodeNr > 0) { /* * Add to result set. */ @@ -12635,8 +12507,12 @@ apply_predicates: /* --------------------------------------------------- */ outSeq = seq; seq = NULL; } else { - outSeq = mergeAndClear(outSeq, seq, 0); + /* TODO: Check memory error. */ + outSeq = mergeAndClear(outSeq, seq); } + + if (toBool) + break; } } @@ -12655,14 +12531,14 @@ error: xmlXPathReleaseObject(xpctxt, obj); /* - * Ensure we return at least an emtpy set. + * Ensure we return at least an empty set. */ if (outSeq == NULL) { if ((seq != NULL) && (seq->nodeNr == 0)) outSeq = seq; else + /* TODO: Check memory error. */ outSeq = xmlXPathNodeSetCreate(NULL); - /* XXX what if xmlXPathNodeSetCreate returned NULL here? */ } if ((seq != NULL) && (seq != outSeq)) { xmlXPathFreeNodeSet(seq); @@ -12718,10 +12594,15 @@ xmlXPathCompOpEvalFirst(xmlXPathParserContextPtr ctxt, xmlXPathObjectPtr arg1, arg2; CHECK_ERROR0; + if (OP_LIMIT_EXCEEDED(ctxt, 1)) + return(0); + if (ctxt->context->depth >= ctxt->context->maxDepth) + XP_ERROR0(XPATH_RECURSION_LIMIT_EXCEEDED); + ctxt->context->depth += 1; comp = ctxt->comp; switch (op->op) { case XPATH_OP_END: - return (0); + break; case XPATH_OP_UNION: total = xmlXPathCompOpEvalFirst(ctxt, &comp->steps[op->ch1], @@ -12735,11 +12616,11 @@ xmlXPathCompOpEvalFirst(xmlXPathParserContextPtr ctxt, * limit tree traversing to first node in the result */ /* - * OPTIMIZE TODO: This implicitely sorts + * OPTIMIZE TODO: This implicitly sorts * the result, even if not needed. E.g. if the argument * of the count() function, no sorting is needed. * OPTIMIZE TODO: How do we know if the node-list wasn't - * aready sorted? + * already sorted? */ if (ctxt->value->nodesetval->nodeNr > 1) xmlXPathNodeSetSort(ctxt->value->nodesetval); @@ -12758,7 +12639,19 @@ xmlXPathCompOpEvalFirst(xmlXPathParserContextPtr ctxt, xmlXPathReleaseObject(ctxt->context, arg2); XP_ERROR0(XPATH_INVALID_TYPE); } + if ((ctxt->context->opLimit != 0) && + (((arg1->nodesetval != NULL) && + (xmlXPathCheckOpLimit(ctxt, + arg1->nodesetval->nodeNr) < 0)) || + ((arg2->nodesetval != NULL) && + (xmlXPathCheckOpLimit(ctxt, + arg2->nodesetval->nodeNr) < 0)))) { + xmlXPathReleaseObject(ctxt->context, arg1); + xmlXPathReleaseObject(ctxt->context, arg2); + break; + } + /* TODO: Check memory error. */ arg1->nodesetval = xmlXPathNodeSetMerge(arg1->nodesetval, arg2->nodesetval); valuePush(ctxt, arg1); @@ -12766,10 +12659,11 @@ xmlXPathCompOpEvalFirst(xmlXPathParserContextPtr ctxt, /* optimizer */ if (total > cur) xmlXPathCompSwap(op); - return (total + cur); + total += cur; + break; case XPATH_OP_ROOT: xmlXPathRoot(ctxt); - return (0); + break; case XPATH_OP_NODE: if (op->ch1 != -1) total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); @@ -12779,22 +12673,22 @@ xmlXPathCompOpEvalFirst(xmlXPathParserContextPtr ctxt, CHECK_ERROR0; valuePush(ctxt, xmlXPathCacheNewNodeSet(ctxt->context, ctxt->context->node)); - return (total); + break; case XPATH_OP_COLLECT:{ if (op->ch1 == -1) - return (total); + break; total = xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); CHECK_ERROR0; total += xmlXPathNodeCollectAndTest(ctxt, op, first, NULL, 0); - return (total); + break; } case XPATH_OP_VALUE: valuePush(ctxt, xmlXPathCacheObjectCopy(ctxt->context, (xmlXPathObjectPtr) op->value4)); - return (0); + break; case XPATH_OP_SORT: if (op->ch1 != -1) total += @@ -12806,15 +12700,19 @@ xmlXPathCompOpEvalFirst(xmlXPathParserContextPtr ctxt, && (ctxt->value->nodesetval != NULL) && (ctxt->value->nodesetval->nodeNr > 1)) xmlXPathNodeSetSort(ctxt->value->nodesetval); - return (total); + break; #ifdef XP_OPTIMIZED_FILTER_FIRST case XPATH_OP_FILTER: total += xmlXPathCompOpEvalFilterFirst(ctxt, op, first); - return (total); + break; #endif default: - return (xmlXPathCompOpEval(ctxt, op)); + total += xmlXPathCompOpEval(ctxt, op); + break; } + + ctxt->context->depth -= 1; + return(total); } /** @@ -12837,10 +12735,15 @@ xmlXPathCompOpEvalLast(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op, xmlXPathObjectPtr arg1, arg2; CHECK_ERROR0; + if (OP_LIMIT_EXCEEDED(ctxt, 1)) + return(0); + if (ctxt->context->depth >= ctxt->context->maxDepth) + XP_ERROR0(XPATH_RECURSION_LIMIT_EXCEEDED); + ctxt->context->depth += 1; comp = ctxt->comp; switch (op->op) { case XPATH_OP_END: - return (0); + break; case XPATH_OP_UNION: total = xmlXPathCompOpEvalLast(ctxt, &comp->steps[op->ch1], last); @@ -12876,7 +12779,19 @@ xmlXPathCompOpEvalLast(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op, xmlXPathReleaseObject(ctxt->context, arg2); XP_ERROR0(XPATH_INVALID_TYPE); } + if ((ctxt->context->opLimit != 0) && + (((arg1->nodesetval != NULL) && + (xmlXPathCheckOpLimit(ctxt, + arg1->nodesetval->nodeNr) < 0)) || + ((arg2->nodesetval != NULL) && + (xmlXPathCheckOpLimit(ctxt, + arg2->nodesetval->nodeNr) < 0)))) { + xmlXPathReleaseObject(ctxt->context, arg1); + xmlXPathReleaseObject(ctxt->context, arg2); + break; + } + /* TODO: Check memory error. */ arg1->nodesetval = xmlXPathNodeSetMerge(arg1->nodesetval, arg2->nodesetval); valuePush(ctxt, arg1); @@ -12884,10 +12799,11 @@ xmlXPathCompOpEvalLast(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op, /* optimizer */ if (total > cur) xmlXPathCompSwap(op); - return (total + cur); + total += cur; + break; case XPATH_OP_ROOT: xmlXPathRoot(ctxt); - return (0); + break; case XPATH_OP_NODE: if (op->ch1 != -1) total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); @@ -12897,22 +12813,22 @@ xmlXPathCompOpEvalLast(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op, CHECK_ERROR0; valuePush(ctxt, xmlXPathCacheNewNodeSet(ctxt->context, ctxt->context->node)); - return (total); + break; case XPATH_OP_COLLECT:{ if (op->ch1 == -1) - return (0); + break; total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); CHECK_ERROR0; total += xmlXPathNodeCollectAndTest(ctxt, op, NULL, last, 0); - return (total); + break; } case XPATH_OP_VALUE: valuePush(ctxt, xmlXPathCacheObjectCopy(ctxt->context, (xmlXPathObjectPtr) op->value4)); - return (0); + break; case XPATH_OP_SORT: if (op->ch1 != -1) total += @@ -12924,10 +12840,14 @@ xmlXPathCompOpEvalLast(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op, && (ctxt->value->nodesetval != NULL) && (ctxt->value->nodesetval->nodeNr > 1)) xmlXPathNodeSetSort(ctxt->value->nodesetval); - return (total); + break; default: - return (xmlXPathCompOpEval(ctxt, op)); + total += xmlXPathCompOpEval(ctxt, op); + break; } + + ctxt->context->depth -= 1; + return (total); } #ifdef XP_OPTIMIZED_FILTER_FIRST @@ -12937,13 +12857,7 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt, { int total = 0; xmlXPathCompExprPtr comp; - xmlXPathObjectPtr res; - xmlXPathObjectPtr obj; - xmlNodeSetPtr oldset; - xmlNodePtr oldnode; - xmlDocPtr oldDoc; - int oldcs, oldpp; - int i; + xmlNodeSetPtr set; CHECK_ERROR0; comp = ctxt->comp; @@ -12998,205 +12912,27 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt, * Hum are we filtering the result of an XPointer expression */ if (ctxt->value->type == XPATH_LOCATIONSET) { - xmlXPathObjectPtr tmp = NULL; - xmlLocationSetPtr newlocset = NULL; - xmlLocationSetPtr oldlocset; + xmlLocationSetPtr locset = ctxt->value->user; - /* - * Extract the old locset, and then evaluate the result of the - * expression for all the element in the locset. use it to grow - * up a new locset. - */ - CHECK_TYPE0(XPATH_LOCATIONSET); - - if ((ctxt->value->user == NULL) || - (((xmlLocationSetPtr) ctxt->value->user)->locNr == 0)) - return (total); - - obj = valuePop(ctxt); - oldlocset = obj->user; - oldnode = ctxt->context->node; - oldcs = ctxt->context->contextSize; - oldpp = ctxt->context->proximityPosition; - - newlocset = xmlXPtrLocationSetCreate(NULL); + if (locset != NULL) { + xmlXPathLocationSetFilter(ctxt, locset, op->ch2, 1, 1); + if (locset->locNr > 0) + *first = (xmlNodePtr) locset->locTab[0]->user; + } - for (i = 0; i < oldlocset->locNr; i++) { - /* - * Run the evaluation with a node list made of a - * single item in the nodelocset. - */ - ctxt->context->node = oldlocset->locTab[i]->user; - ctxt->context->contextSize = oldlocset->locNr; - ctxt->context->proximityPosition = i + 1; - if (tmp == NULL) { - tmp = xmlXPathCacheNewNodeSet(ctxt->context, - ctxt->context->node); - } else { - if (xmlXPathNodeSetAddUnique(tmp->nodesetval, - ctxt->context->node) < 0) { - ctxt->error = XPATH_MEMORY_ERROR; - } - } - valuePush(ctxt, tmp); - if (op->ch2 != -1) - total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch2]); - if (ctxt->error != XPATH_EXPRESSION_OK) { - xmlXPtrFreeLocationSet(newlocset); - goto xptr_error; - } - /* - * The result of the evaluation need to be tested to - * decided whether the filter succeeded or not - */ - res = valuePop(ctxt); - if (xmlXPathEvaluatePredicateResult(ctxt, res)) { - xmlXPtrLocationSetAdd(newlocset, - xmlXPathCacheObjectCopy(ctxt->context, - oldlocset->locTab[i])); - } - /* - * Cleanup - */ - if (res != NULL) { - xmlXPathReleaseObject(ctxt->context, res); - } - if (ctxt->value == tmp) { - valuePop(ctxt); - xmlXPathNodeSetClear(tmp->nodesetval, 1); - /* - * REVISIT TODO: Don't create a temporary nodeset - * for everly iteration. - */ - /* OLD: xmlXPathFreeObject(res); */ - } else - tmp = NULL; - /* - * Only put the first node in the result, then leave. - */ - if (newlocset->locNr > 0) { - *first = (xmlNodePtr) oldlocset->locTab[i]->user; - break; - } - } - if (tmp != NULL) { - xmlXPathReleaseObject(ctxt->context, tmp); - } - /* - * The result is used as the new evaluation locset. - */ - valuePush(ctxt, xmlXPtrWrapLocationSet(newlocset)); -xptr_error: - xmlXPathReleaseObject(ctxt->context, obj); - ctxt->context->node = oldnode; - ctxt->context->contextSize = oldcs; - ctxt->context->proximityPosition = oldpp; return (total); } #endif /* LIBXML_XPTR_ENABLED */ - /* - * Extract the old set, and then evaluate the result of the - * expression for all the element in the set. use it to grow - * up a new set. - */ CHECK_TYPE0(XPATH_NODESET); - - if ((ctxt->value->nodesetval != NULL) && - (ctxt->value->nodesetval->nodeNr != 0)) { - xmlNodeSetPtr newset; - xmlXPathObjectPtr tmp = NULL; - - obj = valuePop(ctxt); - oldset = obj->nodesetval; - oldnode = ctxt->context->node; - oldDoc = ctxt->context->doc; - oldcs = ctxt->context->contextSize; - oldpp = ctxt->context->proximityPosition; - - /* - * Initialize the new set. - * Also set the xpath document in case things like - * key() evaluation are attempted on the predicate - */ - newset = xmlXPathNodeSetCreate(NULL); - /* XXX what if xmlXPathNodeSetCreate returned NULL? */ - - for (i = 0; i < oldset->nodeNr; i++) { - /* - * Run the evaluation with a node list made of - * a single item in the nodeset. - */ - ctxt->context->node = oldset->nodeTab[i]; - if ((oldset->nodeTab[i]->type != XML_NAMESPACE_DECL) && - (oldset->nodeTab[i]->doc != NULL)) - ctxt->context->doc = oldset->nodeTab[i]->doc; - if (tmp == NULL) { - tmp = xmlXPathCacheNewNodeSet(ctxt->context, - ctxt->context->node); - } else { - if (xmlXPathNodeSetAddUnique(tmp->nodesetval, - ctxt->context->node) < 0) { - ctxt->error = XPATH_MEMORY_ERROR; - } - } - valuePush(ctxt, tmp); - ctxt->context->contextSize = oldset->nodeNr; - ctxt->context->proximityPosition = i + 1; - if (op->ch2 != -1) - total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch2]); - if (ctxt->error != XPATH_EXPRESSION_OK) { - xmlXPathFreeNodeSet(newset); - goto error; - } - /* - * The result of the evaluation needs to be tested to - * decide whether the filter succeeded or not - */ - res = valuePop(ctxt); - if (xmlXPathEvaluatePredicateResult(ctxt, res)) { - if (xmlXPathNodeSetAdd(newset, oldset->nodeTab[i]) < 0) - ctxt->error = XPATH_MEMORY_ERROR; - } - /* - * Cleanup - */ - if (res != NULL) { - xmlXPathReleaseObject(ctxt->context, res); - } - if (ctxt->value == tmp) { - valuePop(ctxt); - /* - * Don't free the temporary nodeset - * in order to avoid massive recreation inside this - * loop. - */ - xmlXPathNodeSetClear(tmp->nodesetval, 1); - } else - tmp = NULL; - /* - * Only put the first node in the result, then leave. - */ - if (newset->nodeNr > 0) { - *first = *(newset->nodeTab); - break; - } - } - if (tmp != NULL) { - xmlXPathReleaseObject(ctxt->context, tmp); - } - /* - * The result is used as the new evaluation set. - */ - valuePush(ctxt, xmlXPathCacheWrapNodeSet(ctxt->context, newset)); -error: - xmlXPathReleaseObject(ctxt->context, obj); - ctxt->context->node = oldnode; - ctxt->context->doc = oldDoc; - ctxt->context->contextSize = oldcs; - ctxt->context->proximityPosition = oldpp; + set = ctxt->value->nodesetval; + if (set != NULL) { + xmlXPathNodeSetFilter(ctxt, set, op->ch2, 1, 1, 1); + if (set->nodeNr > 0) + *first = set->nodeTab[0]; } - return(total); + + return (total); } #endif /* XP_OPTIMIZED_FILTER_FIRST */ @@ -13217,44 +12953,49 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) xmlXPathObjectPtr arg1, arg2; CHECK_ERROR0; + if (OP_LIMIT_EXCEEDED(ctxt, 1)) + return(0); + if (ctxt->context->depth >= ctxt->context->maxDepth) + XP_ERROR0(XPATH_RECURSION_LIMIT_EXCEEDED); + ctxt->context->depth += 1; comp = ctxt->comp; switch (op->op) { case XPATH_OP_END: - return (0); + break; case XPATH_OP_AND: total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); CHECK_ERROR0; xmlXPathBooleanFunction(ctxt, 1); if ((ctxt->value == NULL) || (ctxt->value->boolval == 0)) - return (total); + break; arg2 = valuePop(ctxt); total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch2]); if (ctxt->error) { xmlXPathFreeObject(arg2); - return(0); + break; } xmlXPathBooleanFunction(ctxt, 1); if (ctxt->value != NULL) ctxt->value->boolval &= arg2->boolval; xmlXPathReleaseObject(ctxt->context, arg2); - return (total); + break; case XPATH_OP_OR: total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); CHECK_ERROR0; xmlXPathBooleanFunction(ctxt, 1); if ((ctxt->value == NULL) || (ctxt->value->boolval == 1)) - return (total); + break; arg2 = valuePop(ctxt); total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch2]); if (ctxt->error) { xmlXPathFreeObject(arg2); - return(0); + break; } xmlXPathBooleanFunction(ctxt, 1); if (ctxt->value != NULL) ctxt->value->boolval |= arg2->boolval; xmlXPathReleaseObject(ctxt->context, arg2); - return (total); + break; case XPATH_OP_EQUAL: total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); CHECK_ERROR0; @@ -13265,7 +13006,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) else equal = xmlXPathNotEqualValues(ctxt); valuePush(ctxt, xmlXPathCacheNewBoolean(ctxt->context, equal)); - return (total); + break; case XPATH_OP_CMP: total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); CHECK_ERROR0; @@ -13273,7 +13014,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) CHECK_ERROR0; ret = xmlXPathCompareValues(ctxt, op->value, op->value2); valuePush(ctxt, xmlXPathCacheNewBoolean(ctxt->context, ret)); - return (total); + break; case XPATH_OP_PLUS: total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); CHECK_ERROR0; @@ -13291,7 +13032,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) CAST_TO_NUMBER; CHECK_TYPE0(XPATH_NUMBER); } - return (total); + break; case XPATH_OP_MULT: total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); CHECK_ERROR0; @@ -13303,7 +13044,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) xmlXPathDivValues(ctxt); else if (op->value == 2) xmlXPathModValues(ctxt); - return (total); + break; case XPATH_OP_UNION: total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); CHECK_ERROR0; @@ -13318,21 +13059,33 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) xmlXPathReleaseObject(ctxt->context, arg2); XP_ERROR0(XPATH_INVALID_TYPE); } + if ((ctxt->context->opLimit != 0) && + (((arg1->nodesetval != NULL) && + (xmlXPathCheckOpLimit(ctxt, + arg1->nodesetval->nodeNr) < 0)) || + ((arg2->nodesetval != NULL) && + (xmlXPathCheckOpLimit(ctxt, + arg2->nodesetval->nodeNr) < 0)))) { + xmlXPathReleaseObject(ctxt->context, arg1); + xmlXPathReleaseObject(ctxt->context, arg2); + break; + } if ((arg1->nodesetval == NULL) || ((arg2->nodesetval != NULL) && (arg2->nodesetval->nodeNr != 0))) { + /* TODO: Check memory error. */ arg1->nodesetval = xmlXPathNodeSetMerge(arg1->nodesetval, arg2->nodesetval); } valuePush(ctxt, arg1); xmlXPathReleaseObject(ctxt->context, arg2); - return (total); + break; case XPATH_OP_ROOT: xmlXPathRoot(ctxt); - return (total); + break; case XPATH_OP_NODE: if (op->ch1 != -1) total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); @@ -13342,22 +13095,22 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) CHECK_ERROR0; valuePush(ctxt, xmlXPathCacheNewNodeSet(ctxt->context, ctxt->context->node)); - return (total); + break; case XPATH_OP_COLLECT:{ if (op->ch1 == -1) - return (total); + break; total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); CHECK_ERROR0; total += xmlXPathNodeCollectAndTest(ctxt, op, NULL, NULL, 0); - return (total); + break; } case XPATH_OP_VALUE: valuePush(ctxt, xmlXPathCacheObjectCopy(ctxt->context, (xmlXPathObjectPtr) op->value4)); - return (total); + break; case XPATH_OP_VARIABLE:{ xmlXPathObjectPtr val; @@ -13378,7 +13131,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) "xmlXPathCompOpEval: variable %s bound to undefined prefix %s\n", (char *) op->value4, (char *)op->value5); ctxt->error = XPATH_UNDEF_PREFIX_ERROR; - return (total); + break; } val = xmlXPathVariableLookupNS(ctxt->context, op->value4, URI); @@ -13386,7 +13139,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) XP_ERROR0(XPATH_UNDEF_VARIABLE_ERROR); valuePush(ctxt, val); } - return (total); + break; } case XPATH_OP_FUNCTION:{ xmlXPathFunction func; @@ -13400,7 +13153,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); if (ctxt->error != XPATH_EXPRESSION_OK) { xmlXPathPopFrame(ctxt, frame); - return (total); + break; } } if (ctxt->valueNr < ctxt->valueFrame + op->value) { @@ -13408,7 +13161,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) "xmlXPathCompOpEval: parameter error\n"); ctxt->error = XPATH_INVALID_OPERAND; xmlXPathPopFrame(ctxt, frame); - return (total); + break; } for (i = 0; i < op->value; i++) { if (ctxt->valueTab[(ctxt->valueNr - 1) - i] == NULL) { @@ -13416,7 +13169,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) "xmlXPathCompOpEval: parameter error\n"); ctxt->error = XPATH_INVALID_OPERAND; xmlXPathPopFrame(ctxt, frame); - return (total); + break; } } if (op->cache != NULL) @@ -13436,7 +13189,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) (char *)op->value4, (char *)op->value5); xmlXPathPopFrame(ctxt, frame); ctxt->error = XPATH_UNDEF_PREFIX_ERROR; - return (total); + break; } func = xmlXPathFunctionLookupNS(ctxt->context, op->value4, URI); @@ -13457,8 +13210,11 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) func(ctxt, op->value); ctxt->context->function = oldFunc; ctxt->context->functionURI = oldFuncURI; + if ((ctxt->error == XPATH_EXPRESSION_OK) && + (ctxt->valueNr != ctxt->valueFrame + 1)) + XP_ERROR0(XPATH_STACK_ERROR); xmlXPathPopFrame(ctxt, frame); - return (total); + break; } case XPATH_OP_ARG: if (op->ch1 != -1) { @@ -13469,17 +13225,10 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch2]); CHECK_ERROR0; } - return (total); + break; case XPATH_OP_PREDICATE: case XPATH_OP_FILTER:{ - xmlXPathObjectPtr res; - xmlXPathObjectPtr obj, tmp; - xmlNodeSetPtr newset = NULL; - xmlNodeSetPtr oldset; - xmlNodePtr oldnode; - xmlDocPtr oldDoc; - int oldcs, oldpp; - int i; + xmlNodeSetPtr set; /* * Optimization for ()[1] selection i.e. the first elem @@ -13491,7 +13240,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) * will result in an ordered list if we have an * XPATH_OP_FILTER? * What about an additional field or flag on - * xmlXPathObject like @sorted ? This way we wouln'd need + * xmlXPathObject like @sorted ? This way we wouldn't need * to assume anything, so it would be more robust and * easier to optimize. */ @@ -13523,7 +13272,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) (ctxt->value->nodesetval->nodeNr > 1)) xmlXPathNodeSetClearFromPos(ctxt->value->nodesetval, 1, 1); - return (total); + break; } } /* @@ -13558,7 +13307,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) (ctxt->value->nodesetval->nodeTab != NULL) && (ctxt->value->nodesetval->nodeNr > 1)) xmlXPathNodeSetKeepLast(ctxt->value->nodesetval); - return (total); + break; } } /* @@ -13577,224 +13326,28 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]); CHECK_ERROR0; if (op->ch2 == -1) - return (total); + break; if (ctxt->value == NULL) - return (total); + break; #ifdef LIBXML_XPTR_ENABLED /* * Hum are we filtering the result of an XPointer expression */ if (ctxt->value->type == XPATH_LOCATIONSET) { - xmlLocationSetPtr newlocset = NULL; - xmlLocationSetPtr oldlocset; - - /* - * Extract the old locset, and then evaluate the result of the - * expression for all the element in the locset. use it to grow - * up a new locset. - */ - CHECK_TYPE0(XPATH_LOCATIONSET); - - if ((ctxt->value->user == NULL) || - (((xmlLocationSetPtr) ctxt->value->user)->locNr == 0)) - return (total); - - obj = valuePop(ctxt); - oldlocset = obj->user; - oldnode = ctxt->context->node; - oldcs = ctxt->context->contextSize; - oldpp = ctxt->context->proximityPosition; - - newlocset = xmlXPtrLocationSetCreate(NULL); - - for (i = 0; i < oldlocset->locNr; i++) { - /* - * Run the evaluation with a node list made of a - * single item in the nodelocset. - */ - ctxt->context->node = oldlocset->locTab[i]->user; - ctxt->context->contextSize = oldlocset->locNr; - ctxt->context->proximityPosition = i + 1; - tmp = xmlXPathCacheNewNodeSet(ctxt->context, - ctxt->context->node); - valuePush(ctxt, tmp); - - if (op->ch2 != -1) - total += - xmlXPathCompOpEval(ctxt, - &comp->steps[op->ch2]); - if (ctxt->error != XPATH_EXPRESSION_OK) { - xmlXPtrFreeLocationSet(newlocset); - goto filter_xptr_error; - } - - /* - * The result of the evaluation need to be tested to - * decided whether the filter succeeded or not - */ - res = valuePop(ctxt); - if (xmlXPathEvaluatePredicateResult(ctxt, res)) { - xmlXPtrLocationSetAdd(newlocset, - xmlXPathObjectCopy - (oldlocset->locTab[i])); - } - - /* - * Cleanup - */ - if (res != NULL) { - xmlXPathReleaseObject(ctxt->context, res); - } - if (ctxt->value == tmp) { - res = valuePop(ctxt); - xmlXPathReleaseObject(ctxt->context, res); - } - } - - /* - * The result is used as the new evaluation locset. - */ - valuePush(ctxt, xmlXPtrWrapLocationSet(newlocset)); -filter_xptr_error: - xmlXPathReleaseObject(ctxt->context, obj); - ctxt->context->node = oldnode; - ctxt->context->contextSize = oldcs; - ctxt->context->proximityPosition = oldpp; - return (total); + xmlLocationSetPtr locset = ctxt->value->user; + xmlXPathLocationSetFilter(ctxt, locset, op->ch2, + 1, locset->locNr); + break; } #endif /* LIBXML_XPTR_ENABLED */ - /* - * Extract the old set, and then evaluate the result of the - * expression for all the element in the set. use it to grow - * up a new set. - */ CHECK_TYPE0(XPATH_NODESET); - - if ((ctxt->value->nodesetval != NULL) && - (ctxt->value->nodesetval->nodeNr != 0)) { - obj = valuePop(ctxt); - oldset = obj->nodesetval; - oldnode = ctxt->context->node; - oldDoc = ctxt->context->doc; - oldcs = ctxt->context->contextSize; - oldpp = ctxt->context->proximityPosition; - tmp = NULL; - /* - * Initialize the new set. - * Also set the xpath document in case things like - * key() evaluation are attempted on the predicate - */ - newset = xmlXPathNodeSetCreate(NULL); - /* - * SPEC XPath 1.0: - * "For each node in the node-set to be filtered, the - * PredicateExpr is evaluated with that node as the - * context node, with the number of nodes in the - * node-set as the context size, and with the proximity - * position of the node in the node-set with respect to - * the axis as the context position;" - * @oldset is the node-set" to be filtered. - * - * SPEC XPath 1.0: - * "only predicates change the context position and - * context size (see [2.4 Predicates])." - * Example: - * node-set context pos - * nA 1 - * nB 2 - * nC 3 - * After applying predicate [position() > 1] : - * node-set context pos - * nB 1 - * nC 2 - * - * removed the first node in the node-set, then - * the context position of the - */ - for (i = 0; i < oldset->nodeNr; i++) { - /* - * Run the evaluation with a node list made of - * a single item in the nodeset. - */ - ctxt->context->node = oldset->nodeTab[i]; - if ((oldset->nodeTab[i]->type != XML_NAMESPACE_DECL) && - (oldset->nodeTab[i]->doc != NULL)) - ctxt->context->doc = oldset->nodeTab[i]->doc; - if (tmp == NULL) { - tmp = xmlXPathCacheNewNodeSet(ctxt->context, - ctxt->context->node); - } else { - if (xmlXPathNodeSetAddUnique(tmp->nodesetval, - ctxt->context->node) < 0) { - ctxt->error = XPATH_MEMORY_ERROR; - } - } - valuePush(ctxt, tmp); - ctxt->context->contextSize = oldset->nodeNr; - ctxt->context->proximityPosition = i + 1; - /* - * Evaluate the predicate against the context node. - * Can/should we optimize position() predicates - * here (e.g. "[1]")? - */ - if (op->ch2 != -1) - total += - xmlXPathCompOpEval(ctxt, - &comp->steps[op->ch2]); - if (ctxt->error != XPATH_EXPRESSION_OK) { - xmlXPathFreeNodeSet(newset); - goto filter_error; - } - - /* - * The result of the evaluation needs to be tested to - * decide whether the filter succeeded or not - */ - /* - * OPTIMIZE TODO: Can we use - * xmlXPathNodeSetAdd*Unique()* instead? - */ - res = valuePop(ctxt); - if (xmlXPathEvaluatePredicateResult(ctxt, res)) { - if (xmlXPathNodeSetAdd(newset, oldset->nodeTab[i]) - < 0) - ctxt->error = XPATH_MEMORY_ERROR; - } - - /* - * Cleanup - */ - if (res != NULL) { - xmlXPathReleaseObject(ctxt->context, res); - } - if (ctxt->value == tmp) { - valuePop(ctxt); - xmlXPathNodeSetClear(tmp->nodesetval, 1); - /* - * Don't free the temporary nodeset - * in order to avoid massive recreation inside this - * loop. - */ - } else - tmp = NULL; - } - if (tmp != NULL) - xmlXPathReleaseObject(ctxt->context, tmp); - /* - * The result is used as the new evaluation set. - */ - valuePush(ctxt, - xmlXPathCacheWrapNodeSet(ctxt->context, newset)); -filter_error: - xmlXPathReleaseObject(ctxt->context, obj); - ctxt->context->node = oldnode; - ctxt->context->doc = oldDoc; - ctxt->context->contextSize = oldcs; - ctxt->context->proximityPosition = oldpp; - } - return (total); + set = ctxt->value->nodesetval; + if (set != NULL) + xmlXPathNodeSetFilter(ctxt, set, op->ch2, + 1, set->nodeNr, 1); + break; } case XPATH_OP_SORT: if (op->ch1 != -1) @@ -13807,7 +13360,7 @@ filter_error: { xmlXPathNodeSetSort(ctxt->value->nodesetval); } - return (total); + break; #ifdef LIBXML_XPTR_ENABLED case XPATH_OP_RANGETO:{ xmlXPathObjectPtr range; @@ -13830,7 +13383,7 @@ filter_error: XP_ERROR0(XPATH_INVALID_OPERAND); } if (op->ch2 == -1) - return (total); + break; if (ctxt->value->type == XPATH_LOCATIONSET) { /* @@ -13842,7 +13395,7 @@ filter_error: if ((ctxt->value->user == NULL) || (((xmlLocationSetPtr) ctxt->value->user)->locNr == 0)) - return (total); + break; obj = valuePop(ctxt); oldlocset = obj->user; @@ -13964,13 +13517,17 @@ rangeto_error: ctxt->context->node = oldnode; ctxt->context->contextSize = oldcs; ctxt->context->proximityPosition = oldpp; - return (total); + break; } #endif /* LIBXML_XPTR_ENABLED */ + default: + xmlGenericError(xmlGenericErrorContext, + "XPath: unknown precompiled operation %d\n", op->op); + ctxt->error = XPATH_INVALID_OPERAND; + break; } - xmlGenericError(xmlGenericErrorContext, - "XPath: unknown precompiled operation %d\n", op->op); - ctxt->error = XPATH_INVALID_OPERAND; + + ctxt->context->depth -= 1; return (total); } @@ -13990,6 +13547,8 @@ xmlXPathCompOpEvalToBoolean(xmlXPathParserContextPtr ctxt, xmlXPathObjectPtr resObj = NULL; start: + if (OP_LIMIT_EXCEEDED(ctxt, 1)) + return(0); /* comp = ctxt->comp; */ switch (op->op) { case XPATH_OP_END: @@ -14116,12 +13675,14 @@ xmlXPathRunStreamEval(xmlXPathContextPtr ctxt, xmlPatternPtr comp, /* Select "/" */ if (toBool) return(1); + /* TODO: Check memory error. */ xmlXPathNodeSetAddUnique((*resultSeq)->nodesetval, (xmlNodePtr) ctxt->doc); } else { /* Select "self::node()" */ if (toBool) return(1); + /* TODO: Check memory error. */ xmlXPathNodeSetAddUnique((*resultSeq)->nodesetval, ctxt->node); } } @@ -14182,6 +13743,7 @@ xmlXPathRunStreamEval(xmlXPathContextPtr ctxt, xmlPatternPtr comp, } else if (ret == 1) { if (toBool) goto return_1; + /* TODO: Check memory error. */ xmlXPathNodeSetAddUnique((*resultSeq)->nodesetval, cur); } } @@ -14189,6 +13751,16 @@ xmlXPathRunStreamEval(xmlXPathContextPtr ctxt, xmlPatternPtr comp, goto scan_children; next_node: do { + if (ctxt->opLimit != 0) { + if (ctxt->opCount >= ctxt->opLimit) { + xmlGenericError(xmlGenericErrorContext, + "XPath operation limit exceeded\n"); + xmlFreeStreamCtxt(patstream); + return(-1); + } + ctxt->opCount++; + } + nb_nodes++; switch (cur->type) { @@ -14259,7 +13831,8 @@ scan_children: do { cur = cur->parent; depth--; - if ((cur == NULL) || (cur == limit)) + if ((cur == NULL) || (cur == limit) || + (cur->type == XML_DOCUMENT_NODE)) goto done; if (cur->type == XML_ELEMENT_NODE) { ret = xmlStreamPop(patstream); @@ -14312,6 +13885,8 @@ xmlXPathRunEval(xmlXPathParserContextPtr ctxt, int toBool) if ((ctxt == NULL) || (ctxt->comp == NULL)) return(-1); + ctxt->context->depth = 0; + if (ctxt->valueTab == NULL) { /* Allocate the value stack */ ctxt->valueTab = (xmlXPathObjectPtr *) @@ -14498,7 +14073,7 @@ xmlXPathTryStreamCompile(xmlXPathContextPtr ctxt, const xmlChar *str) { /* * We don't try to handle expressions using the verbose axis - * specifiers ("::"), just the simplied form at this point. + * specifiers ("::"), just the simplified form at this point. * Additionally, if there is no list of namespaces available and * there's a ":" in the expression, indicating a prefixed QName, * then we won't try to compile either. xmlPatterncompile() needs @@ -14528,8 +14103,7 @@ xmlXPathTryStreamCompile(xmlXPathContextPtr ctxt, const xmlChar *str) { } } - stream = xmlPatterncompile(str, dict, XML_PATTERN_XPATH, - &namespaces[0]); + stream = xmlPatterncompile(str, dict, XML_PATTERN_XPATH, namespaces); if (namespaces != NULL) { xmlFree((xmlChar **)namespaces); } @@ -14552,8 +14126,12 @@ xmlXPathTryStreamCompile(xmlXPathContextPtr ctxt, const xmlChar *str) { #endif /* XPATH_STREAMING */ static void -xmlXPathOptimizeExpression(xmlXPathCompExprPtr comp, xmlXPathStepOpPtr op) +xmlXPathOptimizeExpression(xmlXPathParserContextPtr pctxt, + xmlXPathStepOpPtr op) { + xmlXPathCompExprPtr comp = pctxt->comp; + xmlXPathContextPtr ctxt; + /* * Try to rewrite "descendant-or-self::node()/foo" to an optimized * internal representation. @@ -14609,10 +14187,18 @@ xmlXPathOptimizeExpression(xmlXPathCompExprPtr comp, xmlXPathStepOpPtr op) return; /* Recurse */ + ctxt = pctxt->context; + if (ctxt != NULL) { + if (ctxt->depth >= ctxt->maxDepth) + return; + ctxt->depth += 1; + } if (op->ch1 != -1) - xmlXPathOptimizeExpression(comp, &comp->steps[op->ch1]); + xmlXPathOptimizeExpression(pctxt, &comp->steps[op->ch1]); if (op->ch2 != -1) - xmlXPathOptimizeExpression(comp, &comp->steps[op->ch2]); + xmlXPathOptimizeExpression(pctxt, &comp->steps[op->ch2]); + if (ctxt != NULL) + ctxt->depth -= 1; } /** @@ -14641,6 +14227,8 @@ xmlXPathCtxtCompile(xmlXPathContextPtr ctxt, const xmlChar *str) { pctxt = xmlXPathNewParserContext(str, ctxt); if (pctxt == NULL) return NULL; + if (ctxt != NULL) + ctxt->depth = 0; xmlXPathCompileExpr(pctxt, 1); if( pctxt->error != XPATH_EXPRESSION_OK ) @@ -14660,6 +14248,11 @@ xmlXPathCtxtCompile(xmlXPathContextPtr ctxt, const xmlChar *str) { comp = NULL; } else { comp = pctxt->comp; + if ((comp->nbStep > 1) && (comp->last >= 0)) { + if (ctxt != NULL) + ctxt->depth = 0; + xmlXPathOptimizeExpression(pctxt, &comp->steps[comp->last]); + } pctxt->comp = NULL; } xmlXPathFreeParserContext(pctxt); @@ -14670,9 +14263,6 @@ xmlXPathCtxtCompile(xmlXPathContextPtr ctxt, const xmlChar *str) { comp->string = xmlStrdup(str); comp->nb = 0; #endif - if ((comp->nbStep > 1) && (comp->last >= 0)) { - xmlXPathOptimizeExpression(comp, &comp->steps[comp->last]); - } } return(comp); } @@ -14829,6 +14419,8 @@ xmlXPathEvalExpr(xmlXPathParserContextPtr ctxt) { } else #endif { + if (ctxt->context != NULL) + ctxt->context->depth = 0; xmlXPathCompileExpr(ctxt, 1); CHECK_ERROR; @@ -14836,9 +14428,12 @@ xmlXPathEvalExpr(xmlXPathParserContextPtr ctxt) { if (*ctxt->cur != 0) XP_ERROR(XPATH_EXPR_ERROR); - if ((ctxt->comp->nbStep > 1) && (ctxt->comp->last >= 0)) - xmlXPathOptimizeExpression(ctxt->comp, + if ((ctxt->comp->nbStep > 1) && (ctxt->comp->last >= 0)) { + if (ctxt->context != NULL) + ctxt->context->depth = 0; + xmlXPathOptimizeExpression(ctxt, &ctxt->comp->steps[ctxt->comp->last]); + } } xmlXPathRunEval(ctxt, 0); @@ -27,7 +27,7 @@ * be parsed beforehand instead of a progressive evaluation * TODO: Access into entities references are not supported now ... * need a start to be able to pop out of entities refs since - * parent is the endity declaration, not the ref. + * parent is the entity declaration, not the ref. */ #include <string.h> @@ -70,7 +70,7 @@ /** * xmlXPtrErrMemory: - * @extra: extra informations + * @extra: extra information * * Handle a redefinition of attribute error */ @@ -86,7 +86,7 @@ xmlXPtrErrMemory(const char *extra) /** * xmlXPtrErr: * @ctxt: an XPTR evaluation context - * @extra: extra informations + * @extra: extra information * * Handle a redefinition of attribute error */ @@ -1005,7 +1005,7 @@ xmlXPtrEvalXPtrPart(xmlXPathParserContextPtr ctxt, xmlChar *name) { /* * To evaluate an xpointer scheme element (4.3) we need: * context initialized to the root - * context position initalized to 1 + * context position initialized to 1 * context size initialized to 1 */ ctxt->context->node = (xmlNodePtr)ctxt->context->doc; @@ -1186,7 +1186,7 @@ xmlXPtrEvalFullXPtr(xmlXPathParserContextPtr ctxt, xmlChar *name) { static void xmlXPtrEvalChildSeq(xmlXPathParserContextPtr ctxt, xmlChar *name) { /* - * XPointer don't allow by syntax to address in mutirooted trees + * XPointer don't allow by syntax to address in multirooted trees * this might prove useful in some cases, warn about it. */ if ((name == NULL) && (CUR == '/') && (NXT(1) != '1')) { @@ -1202,13 +1202,23 @@ xmlXPtrEvalChildSeq(xmlXPathParserContextPtr ctxt, xmlChar *name) { } while (CUR == '/') { - int child = 0; + int child = 0, overflow = 0; NEXT; while ((CUR >= '0') && (CUR <= '9')) { - child = child * 10 + (CUR - '0'); + int d = CUR - '0'; + if (child > INT_MAX / 10) + overflow = 1; + else + child *= 10; + if (child > INT_MAX - d) + overflow = 1; + else + child += d; NEXT; } + if (overflow) + child = 0; xmlXPtrGetChildNo(ctxt, child); } } @@ -1526,7 +1536,7 @@ xmlXPtrBuildRangeNodeList(xmlXPathObjectPtr range) { case XML_ELEMENT_DECL: case XML_ATTRIBUTE_DECL: case XML_ENTITY_NODE: - /* Do not copy DTD informations */ + /* Do not copy DTD information */ break; case XML_ENTITY_DECL: TODO /* handle crossing entities -> stack needed */ diff --git a/xstc/Makefile.am b/xstc/Makefile.am index 5ef18192..1c977248 100644 --- a/xstc/Makefile.am +++ b/xstc/Makefile.am @@ -26,7 +26,7 @@ EXTRA_DIST=xstc.py xstc-to-python.xsl all: # -# Rule to load the test description and extract the informations +# Rule to load the test description and extract the information # $(TESTDIRS) Tests/Metadata/$(NISTTESTDEF_2) Tests/Metadata/$(MSTTESTDEF) Tests/Metadata/$(SUNTESTDEF): -@(if [ ! -d Tests ] ; then \ diff --git a/xstc/xstc.py b/xstc/xstc.py index ca011bb8..21c1f419 100755 --- a/xstc/xstc.py +++ b/xstc/xstc.py @@ -213,7 +213,7 @@ class XSTCTestCase: tokens = self.groupName.split("-") self.combineName = "%s-%s" % (tokens[0], tokens[1]) else: - self.combineName = "unkown" + self.combineName = "unknown" raise Exception("Could not compute the combine name of a test.") if (not options.silent) and (self.group.descr is not None): self.log.append("'%s' group-descr: %s\n" % (self.name, self.group.descr)) @@ -1,5 +1,5 @@ /** - * xzlib.c: front end for the transparent suport of lzma compression + * xzlib.c: front end for the transparent support of lzma compression * at the I/O layer, based on an example file from lzma project * * See Copyright for the status of this software. @@ -71,7 +71,7 @@ typedef struct { int err; /* error code */ char *msg; /* error message */ /* lzma stream */ - int init; /* is the iniflate stream initialized */ + int init; /* is the inflate stream initialized */ lzma_stream strm; /* stream structure in-place (not a pointer) */ char padding1[32]; /* padding allowing to cope with possible extensions of above structure without @@ -1,5 +1,5 @@ /** - * xzlib.h: header for the front end for the transparent suport of lzma + * xzlib.h: header for the front end for the transparent support of lzma * compression at the I/O layer * * See Copyright for the status of this software. |
