diff options
author | SVN Migration <svn@php.net> | 2004-01-25 12:03:25 +0000 |
---|---|---|
committer | SVN Migration <svn@php.net> | 2004-01-25 12:03:25 +0000 |
commit | 22476b36ce621bdd115493bab84cbe706e422a7c (patch) | |
tree | 1124d1c5af68860a78c2252bb0dac63c9f18156e /ext/libxml | |
parent | eb7aca4ea896b09cb9afc2466a46f4720acc4a4e (diff) | |
download | php-git-php_ibase_before_split.tar.gz |
This commit was manufactured by cvs2svn to create tagphp_ibase_before_split
'php_ibase_before_split'.
Diffstat (limited to 'ext/libxml')
-rw-r--r-- | ext/libxml/CREDITS | 2 | ||||
-rw-r--r-- | ext/libxml/config.w32 | 21 | ||||
-rw-r--r-- | ext/libxml/config0.m4 | 24 | ||||
-rw-r--r-- | ext/libxml/libxml.c | 629 | ||||
-rw-r--r-- | ext/libxml/php_libxml.h | 100 | ||||
-rw-r--r-- | ext/libxml/php_libxml2.def | 1236 |
6 files changed, 0 insertions, 2012 deletions
diff --git a/ext/libxml/CREDITS b/ext/libxml/CREDITS deleted file mode 100644 index 9b744ae5fb..0000000000 --- a/ext/libxml/CREDITS +++ /dev/null @@ -1,2 +0,0 @@ -LIBXML -Christian Stocker, Rob Richards, Marcus Boerger, Wez Furlong, Shane Caraveo diff --git a/ext/libxml/config.w32 b/ext/libxml/config.w32 deleted file mode 100644 index 2edd6aad85..0000000000 --- a/ext/libxml/config.w32 +++ /dev/null @@ -1,21 +0,0 @@ -// $Id$ -// vim:ft=javascript - -ARG_WITH("libxml", "LibXML support", "yes"); - -if (PHP_LIBXML == "yes") { - if (CHECK_LIB("libxml2_a.lib;libxml2.lib", "libxml") && - CHECK_LIB("iconv_a.lib;iconv.lib", "libxml") && - CHECK_HEADER_ADD_INCLUDE("libxml/parser.h", "CFLAGS")) { - - EXTENSION("libxml", "libxml.c", false /* never shared */); - AC_DEFINE("HAVE_LIBXML", 1, "LibXML support"); - ADD_FLAG("CFLAGS", "/D LIBXML_THREAD_ENABLED"); - ADD_FLAG("CFLAGS_LIBXML", "/D LIBXML_STATIC "); - if (!PHP_LIBXML_SHARED) { - ADD_DEF_FILE("ext\\libxml\\php_libxml2.def"); - } - } -} - - diff --git a/ext/libxml/config0.m4 b/ext/libxml/config0.m4 deleted file mode 100644 index ecab8c1d2f..0000000000 --- a/ext/libxml/config0.m4 +++ /dev/null @@ -1,24 +0,0 @@ -dnl -dnl $Id$ -dnl - -PHP_ARG_ENABLE(libxml, whether to enable LIBXML support, -[ --disable-libxml Disable new LIBXML support.], yes) - -if test -z "$PHP_LIBXML_DIR"; then - PHP_ARG_WITH(libxml-dir, libxml2 install dir, - [ --with-libxml-dir[=DIR] libxml2 install prefix.], no, no) -fi - -if test "$PHP_LIBXML" != "no"; then - - dnl This extension can not be build as shared - ext_shared=no - - PHP_SETUP_LIBXML(LIBXML_SHARED_LIBADD, [ - AC_DEFINE(HAVE_LIBXML,1,[ ]) - PHP_NEW_EXTENSION(libxml, [libxml.c], $ext_shared) - ], [ - AC_MSG_ERROR([xml2-config not found. Please check your libxml2 installation.]) - ]) -fi diff --git a/ext/libxml/libxml.c b/ext/libxml/libxml.c deleted file mode 100644 index 7545b69f3f..0000000000 --- a/ext/libxml/libxml.c +++ /dev/null @@ -1,629 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | PHP Version 5 | - +----------------------------------------------------------------------+ - | Copyright (c) 1997-2004 The PHP Group | - +----------------------------------------------------------------------+ - | This source file is subject to version 3.0 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | http://www.php.net/license/3_0.txt. | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Authors: Shane Caraveo <shane@php.net> | - | Wez Furlong <wez@thebrainroom.com> | - +----------------------------------------------------------------------+ - */ - -/* $Id$ */ - -#define IS_EXT_MODULE - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "php.h" - -#define PHP_XML_INTERNAL -#include "zend_variables.h" -#include "ext/standard/php_string.h" -#include "ext/standard/info.h" -#include "ext/standard/file.h" - -#if HAVE_LIBXML - -#include <libxml/parser.h> -#include <libxml/parserInternals.h> -#include <libxml/tree.h> -#include <libxml/uri.h> -#include <libxml/xmlerror.h> - -#include "php_libxml.h" - -#define PHP_LIBXML_ERROR 0 -#define PHP_LIBXML_CTX_ERROR 1 -#define PHP_LIBXML_CTX_WARNING 2 - -/* a true global for initialization */ -int _php_libxml_initialized = 0; - -#ifdef ZTS -int libxml_globals_id; -#else -PHP_LIBXML_API php_libxml_globals libxml_globals; -#endif - -/* {{{ dynamically loadable module stuff */ -#ifdef COMPILE_DL_LIBXML -ZEND_GET_MODULE(libxml) -# ifdef PHP_WIN32 -# include "zend_arg_defs.c" -# endif -#endif /* COMPILE_DL_LIBXML */ -/* }}} */ - -/* {{{ function prototypes */ -PHP_MINIT_FUNCTION(libxml); -PHP_RINIT_FUNCTION(libxml); -PHP_MSHUTDOWN_FUNCTION(libxml); -PHP_RSHUTDOWN_FUNCTION(libxml); -PHP_MINFO_FUNCTION(libxml); - -/* }}} */ - -/* {{{ extension definition structures */ -function_entry libxml_functions[] = { - PHP_FE(libxml_set_streams_context, NULL) - {NULL, NULL, NULL} -}; - -zend_module_entry libxml_module_entry = { - STANDARD_MODULE_HEADER, - "libxml", /* extension name */ - libxml_functions, /* extension function list */ - PHP_MINIT(libxml), /* extension-wide startup function */ - PHP_MSHUTDOWN(libxml), /* extension-wide shutdown function */ - PHP_RINIT(libxml), /* per-request startup function */ - PHP_RSHUTDOWN(libxml), /* per-request shutdown function */ - PHP_MINFO(libxml), /* information function */ - NO_VERSION_YET, - STANDARD_MODULE_PROPERTIES -}; - -/* }}} */ - -/* {{{ internal functions for interoperability */ -static int php_libxml_dec_node(php_libxml_node_ptr *nodeptr) -{ - int ret_refcount; - - ret_refcount = --nodeptr->refcount; - if (ret_refcount == 0) { - if (nodeptr->node != NULL && nodeptr->node->type != XML_DOCUMENT_NODE) { - nodeptr->node->_private = NULL; - } - /* node is destroyed by another object. reset ret_refcount to 1 and node to NULL - so the php_libxml_node_ptr is detroyed when the object is destroyed */ - nodeptr->refcount = 1; - nodeptr->node = NULL; - } - - return ret_refcount; -} - -static int php_libxml_clear_object(php_libxml_node_object *object TSRMLS_DC) -{ - if (object->properties) { - object->properties = NULL; - } - php_libxml_decrement_node_ptr(object TSRMLS_CC); - return php_libxml_decrement_doc_ref(object TSRMLS_CC); -} - -static int php_libxml_unregister_node(xmlNodePtr nodep TSRMLS_DC) -{ - php_libxml_node_object *wrapper; - - php_libxml_node_ptr *nodeptr = nodep->_private; - - if (nodeptr != NULL) { - wrapper = nodeptr->_private; - if (wrapper) { - php_libxml_clear_object(wrapper TSRMLS_CC); - } else { - php_libxml_dec_node(nodeptr); - } - } - - return -1; -} - -static void php_libxml_node_free(xmlNodePtr node) -{ - if(node) { - if (node->_private != NULL) { - ((php_libxml_node_ptr *) node->_private)->node = NULL; - } - switch (node->type) { - case XML_ATTRIBUTE_NODE: - xmlFreeProp((xmlAttrPtr) node); - break; - case XML_ENTITY_DECL: - case XML_ELEMENT_DECL: - case XML_ATTRIBUTE_DECL: - break; - case XML_NOTATION_NODE: - /* These require special handling */ - if (node->name != NULL) { - xmlFree((char *) node->name); - } - if (((xmlEntityPtr) node)->ExternalID != NULL) { - xmlFree((char *) ((xmlEntityPtr) node)->ExternalID); - } - if (((xmlEntityPtr) node)->SystemID != NULL) { - xmlFree((char *) ((xmlEntityPtr) node)->SystemID); - } - xmlFree(node); - break; - case XML_NAMESPACE_DECL: - if (node->ns) { - xmlFreeNs(node->ns); - node->ns = NULL; - } - node->type = XML_ELEMENT_NODE; - default: - xmlFreeNode(node); - } - } -} - -static void php_libxml_node_free_list(xmlNodePtr node TSRMLS_DC) -{ - xmlNodePtr curnode; - - if (node != NULL) { - curnode = node; - while (curnode != NULL) { - node = curnode; - switch (node->type) { - /* Skip property freeing for the following types */ - case XML_NOTATION_NODE: - break; - case XML_ENTITY_REF_NODE: - php_libxml_node_free_list((xmlNodePtr) node->properties TSRMLS_CC); - break; - case XML_ATTRIBUTE_DECL: - case XML_DTD_NODE: - case XML_DOCUMENT_TYPE_NODE: - case XML_ENTITY_DECL: - case XML_ATTRIBUTE_NODE: - case XML_NAMESPACE_DECL: - php_libxml_node_free_list(node->children TSRMLS_CC); - break; - default: - php_libxml_node_free_list(node->children TSRMLS_CC); - php_libxml_node_free_list((xmlNodePtr) node->properties TSRMLS_CC); - } - - curnode = node->next; - xmlUnlinkNode(node); - if (php_libxml_unregister_node(node TSRMLS_CC) == 0) { - node->doc = NULL; - } - php_libxml_node_free(node); - } - } -} - -/* }}} */ - -/* {{{ startup, shutdown and info functions */ -#ifdef ZTS -static void php_libxml_init_globals(php_libxml_globals *libxml_globals_p TSRMLS_DC) -{ - LIBXML(stream_context) = NULL; - LIBXML(error_buffer).c = NULL; -} -#endif - -/* Channel libxml file io layer through the PHP streams subsystem. - * This allows use of ftps:// and https:// urls */ - -int php_libxml_streams_IO_match_wrapper(const char *filename) -{ - TSRMLS_FETCH(); - return php_stream_locate_url_wrapper(filename, NULL, 0 TSRMLS_CC) ? 1 : 0; -} - -void *php_libxml_streams_IO_open_wrapper(const char *filename, const char *mode, const int read_only) -{ - char resolved_path[MAXPATHLEN + 1]; - php_stream_statbuf ssbuf; - php_stream_context *context = NULL; - php_stream_wrapper *wrapper = NULL; - char *path_to_open = NULL; - - TSRMLS_FETCH(); - xmlURIUnescapeString(filename, 0, resolved_path); - path_to_open = resolved_path; - - /* logic copied from _php_stream_stat, but we only want to fail - if the wrapper supports stat, otherwise, figure it out from - the open. This logic is only to support hiding warnings - that the streams layer puts out at times, but for libxml we - may try to open files that don't exist, but it is not a failure - in xml processing (eg. DTD files) */ - wrapper = php_stream_locate_url_wrapper(resolved_path, &path_to_open, ENFORCE_SAFE_MODE TSRMLS_CC); - if (wrapper && read_only && wrapper->wops->url_stat) { - if (wrapper->wops->url_stat(wrapper, path_to_open, 0, &ssbuf, NULL TSRMLS_CC) == -1) { - return NULL; - } - } - - if (LIBXML(stream_context)) { - context = zend_fetch_resource(&LIBXML(stream_context) TSRMLS_CC, -1, "Stream-Context", NULL, 1, php_le_stream_context()); - return php_stream_open_wrapper_ex((char *)resolved_path, (char *)mode, ENFORCE_SAFE_MODE|REPORT_ERRORS, NULL, context); - } - return php_stream_open_wrapper((char *)resolved_path, (char *)mode, ENFORCE_SAFE_MODE|REPORT_ERRORS, NULL); -} - -void *php_libxml_streams_IO_open_read_wrapper(const char *filename) -{ - return php_libxml_streams_IO_open_wrapper(filename, "rb", 1); -} - -void *php_libxml_streams_IO_open_write_wrapper(const char *filename) -{ - return php_libxml_streams_IO_open_wrapper(filename, "wb", 0); -} - -int php_libxml_streams_IO_read(void *context, char *buffer, int len) -{ - TSRMLS_FETCH(); - return php_stream_read((php_stream*)context, buffer, len); -} - -int php_libxml_streams_IO_write(void *context, const char *buffer, int len) -{ - TSRMLS_FETCH(); - return php_stream_write((php_stream*)context, buffer, len); -} - -int php_libxml_streams_IO_close(void *context) -{ - TSRMLS_FETCH(); - return php_stream_close((php_stream*)context); -} - -static void php_libxml_ctx_error_level(int level, void *ctx, const char *msg TSRMLS_DC) -{ - xmlParserCtxtPtr parser; - - parser = (xmlParserCtxtPtr) ctx; - - if (parser != NULL && parser->input != NULL) { - if (parser->input->filename) { - php_error_docref(NULL TSRMLS_CC, level, "%s in %s, line: %d", msg, parser->input->filename, parser->input->line); - } else { - php_error_docref(NULL TSRMLS_CC, level, "%s in Entity, line: %d", msg, parser->input->line); - } - } -} - -static void php_libxml_internal_error_handler(int error_type, void *ctx, const char **msg, va_list ap) -{ - char *buf; - int len, len_iter, output = 0; - - TSRMLS_FETCH(); - - len = vspprintf(&buf, 0, *msg, ap); - len_iter = len; - - /* remove any trailing \n */ - while (len_iter && buf[--len_iter] == '\n') { - buf[len_iter] = '\0'; - output = 1; - } - - smart_str_appendl(&LIBXML(error_buffer), buf, len); - - efree(buf); - - if (output == 1) { - switch (error_type) { - case PHP_LIBXML_CTX_ERROR: - php_libxml_ctx_error_level(E_WARNING, ctx, LIBXML(error_buffer).c TSRMLS_CC); - break; - case PHP_LIBXML_CTX_WARNING: - php_libxml_ctx_error_level(E_NOTICE, ctx, LIBXML(error_buffer).c TSRMLS_CC); - break; - default: - php_error(E_WARNING, "%s", LIBXML(error_buffer).c); - } - smart_str_free(&LIBXML(error_buffer)); - } -} - -void php_libxml_ctx_error(void *ctx, const char *msg, ...) -{ - va_list args; - va_start(args, msg); - php_libxml_internal_error_handler(PHP_LIBXML_CTX_ERROR, ctx, &msg, args); - va_end(args); -} - -void php_libxml_ctx_warning(void *ctx, const char *msg, ...) -{ - va_list args; - va_start(args, msg); - php_libxml_internal_error_handler(PHP_LIBXML_CTX_WARNING, ctx, &msg, args); - va_end(args); -} - -void php_libxml_error_handler(void *ctx, const char *msg, ...) -{ - va_list args; - va_start(args, msg); - php_libxml_internal_error_handler(PHP_LIBXML_ERROR, ctx, &msg, args); - va_end(args); -} - - -PHP_LIBXML_API void php_libxml_initialize() { - if (!_php_libxml_initialized) { - /* we should be the only one's to ever init!! */ - xmlInitParser(); - - /* Enable php stream/wrapper support for libxml - we only use php streams, so we do not enable - the default io handlers in libxml. - */ - xmlRegisterInputCallbacks( - php_libxml_streams_IO_match_wrapper, - php_libxml_streams_IO_open_read_wrapper, - php_libxml_streams_IO_read, - php_libxml_streams_IO_close); - - xmlRegisterOutputCallbacks( - php_libxml_streams_IO_match_wrapper, - php_libxml_streams_IO_open_write_wrapper, - php_libxml_streams_IO_write, - php_libxml_streams_IO_close); - - /* report errors via handler rather than stderr */ - xmlSetGenericErrorFunc(NULL, php_libxml_error_handler); - - _php_libxml_initialized = 1; - } -} - -PHP_LIBXML_API void php_libxml_shutdown() { - if (_php_libxml_initialized) { - /* reset libxml generic error handling */ - xmlSetGenericErrorFunc(NULL, NULL); - xmlCleanupParser(); - _php_libxml_initialized = 0; - } -} - -PHP_MINIT_FUNCTION(libxml) -{ - php_libxml_initialize(); - -#ifdef ZTS - ts_allocate_id(&libxml_globals_id, sizeof(php_libxml_globals), (ts_allocate_ctor) php_libxml_init_globals, NULL); -#else - LIBXML(stream_context) = NULL; - LIBXML(error_buffer).c = NULL; -#endif - - return SUCCESS; -} - - -PHP_RINIT_FUNCTION(libxml) -{ - return SUCCESS; -} - - -PHP_MSHUTDOWN_FUNCTION(libxml) -{ - php_libxml_shutdown(); - return SUCCESS; -} - - -PHP_RSHUTDOWN_FUNCTION(libxml) -{ - smart_str_free(&LIBXML(error_buffer)); - return SUCCESS; -} - - -PHP_MINFO_FUNCTION(libxml) -{ - php_info_print_table_start(); - php_info_print_table_row(2, "libXML support", "active"); - php_info_print_table_row(2, "libXML Version", LIBXML_DOTTED_VERSION); - php_info_print_table_row(2, "libXML streams", "enabled"); - php_info_print_table_end(); -} -/* }}} */ - - -/* {{{ proto void libxml_set_streams_context(resource streams_context) - Set the streams context for the next libxml document load or write */ -PHP_FUNCTION(libxml_set_streams_context) -{ - zval *arg; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &arg) == FAILURE) { - return; - } - if (LIBXML(stream_context)) { - ZVAL_DELREF(LIBXML(stream_context)); - LIBXML(stream_context) = NULL; - } - ZVAL_ADDREF(arg); - LIBXML(stream_context) = arg; -} -/* }}} */ - -/* {{{ Common functions shared by extensions */ -int php_libxml_increment_node_ptr(php_libxml_node_object *object, xmlNodePtr node, void *private_data TSRMLS_DC) -{ - int ret_refcount = -1; - - if (object != NULL && node != NULL) { - if (object->node != NULL) { - if (object->node->node == node) { - return object->node->refcount; - } else { - php_libxml_decrement_node_ptr(object TSRMLS_CC); - } - } - if (node->_private != NULL) { - object->node = node->_private; - ret_refcount = ++object->node->refcount; - /* Only dom uses _private */ - if (object->node->_private == NULL) { - object->node->_private = private_data; - } - } else { - ret_refcount = 1; - object->node = emalloc(sizeof(php_libxml_node_ptr)); - object->node->node = node; - object->node->refcount = 1; - object->node->_private = private_data; - node->_private = object->node; - } - } - - return ret_refcount; -} - -int php_libxml_decrement_node_ptr(php_libxml_node_object *object TSRMLS_DC) { - int ret_refcount = -1; - php_libxml_node_ptr *obj_node; - - if (object != NULL && object->node != NULL) { - obj_node = (php_libxml_node_ptr *) object->node; - ret_refcount = --obj_node->refcount; - if (ret_refcount == 0) { - if (obj_node->node != NULL && obj_node->node->type != XML_DOCUMENT_NODE) { - obj_node->node->_private = NULL; - } - efree(obj_node); - } - object->node = NULL; - } - - return ret_refcount; -} - -int php_libxml_increment_doc_ref(php_libxml_node_object *object, xmlDocPtr docp TSRMLS_DC) { - int ret_refcount = -1; - - if (object->document != NULL) { - object->document->refcount++; - ret_refcount = object->document->refcount; - } else if (docp != NULL) { - ret_refcount = 1; - object->document = emalloc(sizeof(php_libxml_ref_obj)); - object->document->ptr = docp; - object->document->refcount = ret_refcount; - object->document->doc_props = NULL; - } - - return ret_refcount; -} - -int php_libxml_decrement_doc_ref(php_libxml_node_object *object TSRMLS_DC) { - int ret_refcount = -1; - - if (object != NULL && object->document != NULL) { - ret_refcount = --object->document->refcount; - if (ret_refcount == 0) { - if (object->document->ptr != NULL) { - xmlFreeDoc((xmlDoc *) object->document->ptr); - } - if (object->document->doc_props != NULL) { - efree(object->document->doc_props); - } - efree(object->document); - } - object->document = NULL; - } - - return ret_refcount; -} - -void php_libxml_node_free_resource(xmlNodePtr node TSRMLS_DC) -{ - if (!node) { - return; - } - - switch (node->type) { - case XML_DOCUMENT_NODE: - case XML_HTML_DOCUMENT_NODE: - break; - default: - if (node->parent == NULL || node->type == XML_NAMESPACE_DECL) { - php_libxml_node_free_list((xmlNodePtr) node->children TSRMLS_CC); - switch (node->type) { - /* Skip property freeing for the following types */ - case XML_ATTRIBUTE_DECL: - case XML_DTD_NODE: - case XML_DOCUMENT_TYPE_NODE: - case XML_ENTITY_DECL: - case XML_ATTRIBUTE_NODE: - case XML_NAMESPACE_DECL: - break; - default: - php_libxml_node_free_list((xmlNodePtr) node->properties TSRMLS_CC); - } - if (php_libxml_unregister_node(node TSRMLS_CC) == 0) { - node->doc = NULL; - } - php_libxml_node_free(node); - } else { - php_libxml_unregister_node(node TSRMLS_CC); - } - } -} - -void php_libxml_node_decrement_resource(php_libxml_node_object *object TSRMLS_DC) -{ - int ret_refcount = -1; - xmlNodePtr nodep; - php_libxml_node_ptr *obj_node; - - if (object != NULL && object->node != NULL) { - obj_node = (php_libxml_node_ptr *) object->node; - nodep = object->node->node; - ret_refcount = php_libxml_decrement_node_ptr(object TSRMLS_CC); - if (ret_refcount == 0) { - php_libxml_node_free_resource(nodep TSRMLS_CC); - } - /* Safe to call as if the resource were freed then doc pointer is NULL */ - php_libxml_decrement_doc_ref(object TSRMLS_CC); - } -} -/* }}} */ - -#endif - -/* - * Local variables: - * tab-width: 4 - * c-basic-offset: 4 - * End: - * vim600: sw=4 ts=4 fdm=marker - * vim<600: sw=4 ts=4 - */ diff --git a/ext/libxml/php_libxml.h b/ext/libxml/php_libxml.h deleted file mode 100644 index d1c6b86903..0000000000 --- a/ext/libxml/php_libxml.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | PHP Version 5 | - +----------------------------------------------------------------------+ - | Copyright (c) 1997-2004 The PHP Group | - +----------------------------------------------------------------------+ - | This source file is subject to version 3.0 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | http://www.php.net/license/3_0.txt. | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Authors: Shane Caraveo <shane@php.net> | - | Wez Furlong <wez@thebrainroom.com> | - +----------------------------------------------------------------------+ -*/ - -/* $Id$ */ - -#ifndef PHP_LIBXML_H -#define PHP_LIBXML_H - -#ifdef HAVE_LIBXML -extern zend_module_entry libxml_module_entry; -#define libxml_module_ptr &libxml_module_entry -#else -#define libxml_module_ptr NULL -#endif - -#ifdef HAVE_LIBXML - -#ifdef PHP_WIN32 -#define PHP_LIBXML_API __declspec(dllexport) -#else -#define PHP_LIBXML_API -#endif - -#include "ext/standard/php_smart_str.h" -#include <libxml/tree.h> - -typedef struct { - zval *stream_context; - smart_str error_buffer; -} php_libxml_globals; - -typedef struct _php_libxml_ref_obj { - void *ptr; - int refcount; - void *doc_props; -} php_libxml_ref_obj; - -typedef struct _php_libxml_node_ptr { - xmlNodePtr node; - int refcount; - void *_private; -} php_libxml_node_ptr; - -typedef struct _php_libxml_node_object { - zend_object std; - php_libxml_node_ptr *node; - php_libxml_ref_obj *document; - HashTable *properties; -} php_libxml_node_object; - -PHP_FUNCTION(libxml_set_streams_context); -int php_libxml_increment_node_ptr(php_libxml_node_object *object, xmlNodePtr node, void *private_data TSRMLS_DC); -int php_libxml_decrement_node_ptr(php_libxml_node_object *object TSRMLS_DC); -int php_libxml_increment_doc_ref(php_libxml_node_object *object, xmlDocPtr docp TSRMLS_DC); -int php_libxml_decrement_doc_ref(php_libxml_node_object *object TSRMLS_DC); -/* When an explicit freeing of node and children is required */ -void php_libxml_node_free_resource(xmlNodePtr node TSRMLS_DC); -/* When object dtor is called as node may still be referenced */ -void php_libxml_node_decrement_resource(php_libxml_node_object *object TSRMLS_DC); -void php_libxml_error_handler(void *ctx, const char *msg, ...); -void php_libxml_ctx_warning(void *ctx, const char *msg, ...); -void php_libxml_ctx_error(void *ctx, const char *msg, ...); - -#endif /* HAVE_LIBXML */ - -#define phpext_libxml_ptr libxml_module_ptr - -#ifdef ZTS -#define LIBXML(v) TSRMG(libxml_globals_id, php_libxml_globals *, v) -#else -#define LIBXML(v) (libxml_globals.v) -#endif - -PHP_LIBXML_API void php_libxml_initialize(); -PHP_LIBXML_API void php_libxml_shutdown(); - -#endif /* PHP_LIBXML_H */ - -/* - * Local variables: - * tab-width: 4 - * c-basic-offset: 4 - * End: - */ diff --git a/ext/libxml/php_libxml2.def b/ext/libxml/php_libxml2.def deleted file mode 100644 index 3e67d76ba9..0000000000 --- a/ext/libxml/php_libxml2.def +++ /dev/null @@ -1,1236 +0,0 @@ -EXPORTS -__docbDefaultSAXHandler -__htmlDefaultSAXHandler -__oldXMLWDcompatibility -__xmlBufferAllocScheme -__xmlDefaultBufferSize -__xmlDefaultSAXHandler -__xmlDefaultSAXLocator -__xmlDeregisterNodeDefaultValue -__xmlDoValidityCheckingDefaultValue -xmlFree DATA -__xmlGenericError -__xmlGenericErrorContext -__xmlGetWarningsDefaultValue -__xmlIndentTreeOutput -__xmlKeepBlanksDefaultValue -__xmlLineNumbersDefaultValue -__xmlLoadExtDtdDefaultValue -xmlMalloc DATA -xmlMallocAtomic DATA -xmlMemStrdup DATA -__xmlParserDebugEntities -__xmlParserVersion -__xmlPedanticParserDefaultValue -xmlRealloc DATA -__xmlRegisterNodeDefaultValue -__xmlSaveNoEmptyTags -xmlStringComment DATA -xmlStringText DATA -xmlStringTextNoenc DATA -__xmlSubstituteEntitiesDefaultValue -__xmlTreeIndentString -xmlXPathNAN DATA -xmlXPathNINF DATA -xmlXPathPINF DATA -UTF8ToHtml -UTF8Toisolat1 -attribute -attributeDecl -cdataBlock -characters -checkNamespace -comment -docbCreateFileParserCtxt -docbCreatePushParserCtxt -docbDefaultSAXHandlerInit -docbEncodeEntities -docbFreeParserCtxt -docbParseChunk -docbParseDoc -docbParseDocument -docbParseFile -docbSAXParseDoc -docbSAXParseFile -elementDecl -endDocument -endElement -entityDecl -externalSubset -getColumnNumber -getEntity -getLineNumber -getNamespace -getParameterEntity -getPublicId -getSystemId -globalNamespace -hasExternalSubset -hasInternalSubset -htmlAttrAllowed -htmlAutoCloseTag -htmlCreateFileParserCtxt -htmlCreateMemoryParserCtxt -htmlCreatePushParserCtxt -htmlDefaultSAXHandlerInit -htmlDocContentDumpFormatOutput -htmlDocContentDumpOutput -htmlDocDump -htmlDocDumpMemory -htmlElementAllowedHere -htmlElementStatusHere -htmlEncodeEntities -htmlEntityLookup -htmlEntityValueLookup -htmlFreeParserCtxt -htmlGetMetaEncoding -htmlHandleOmittedElem -htmlInitAutoClose -htmlIsAutoClosed -htmlIsBooleanAttr -htmlIsScriptAttribute -htmlNewDoc -htmlNewDocNoDtD -htmlNodeDump -htmlNodeDumpFile -htmlNodeDumpFileFormat -htmlNodeDumpFormatOutput -htmlNodeDumpOutput -htmlNodeStatus -htmlParseCharRef -htmlParseChunk -htmlParseDoc -htmlParseDocument -htmlParseElement -htmlParseEntityRef -htmlParseFile -htmlSAXParseDoc -htmlSAXParseFile -htmlSaveFile -htmlSaveFileEnc -htmlSaveFileFormat -htmlSetMetaEncoding -htmlTagLookup -ignorableWhitespace -initGenericErrorDefaultFunc -initdocbDefaultSAXHandler -inithtmlDefaultSAXHandler -initxmlDefaultSAXHandler -inputPop -inputPush -internalSubset -isStandalone -isolat1ToUTF8 -namePop -namePush -namespaceDecl -nodePop -nodePush -notationDecl -processingInstruction -reference -resolveEntity -setDocumentLocator -setNamespace -startDocument -startElement -unparsedEntityDecl -valuePop -valuePush -xmlACatalogAdd -xmlACatalogDump -xmlACatalogRemove -xmlACatalogResolve -xmlACatalogResolvePublic -xmlACatalogResolveSystem -xmlACatalogResolveURI -xmlAddAttributeDecl -xmlAddChild -xmlAddChildList -xmlAddDocEntity -xmlAddDtdEntity -xmlAddElementDecl -xmlAddEncodingAlias -xmlAddID -xmlAddNextSibling -xmlAddNotationDecl -xmlAddPrevSibling -xmlAddRef -xmlAddSibling -xmlAllocOutputBuffer -xmlAllocParserInputBuffer -xmlAutomataCompile -xmlAutomataGetInitState -xmlAutomataIsDeterminist -xmlAutomataNewAllTrans -xmlAutomataNewCountTrans -xmlAutomataNewCountedTrans -xmlAutomataNewCounter -xmlAutomataNewCounterTrans -xmlAutomataNewEpsilon -xmlAutomataNewOnceTrans -xmlAutomataNewState -xmlAutomataNewTransition -xmlAutomataNewTransition2 -xmlAutomataSetFinalState -xmlBoolToText -xmlBufferAdd -xmlBufferAddHead -xmlBufferCCat -xmlBufferCat -xmlBufferContent -xmlBufferCreate -xmlBufferCreateSize -xmlBufferDump -xmlBufferEmpty -xmlBufferFree -xmlBufferGrow -xmlBufferLength -xmlBufferResize -xmlBufferSetAllocationScheme -xmlBufferShrink -xmlBufferWriteCHAR -xmlBufferWriteChar -xmlBufferWriteQuotedString -xmlBuildQName -xmlBuildURI -xmlC14NDocDumpMemory -xmlC14NDocSave -xmlC14NDocSaveTo -xmlC14NExecute -xmlCanonicPath -xmlCatalogAdd -xmlCatalogAddLocal -xmlCatalogCleanup -xmlCatalogConvert -xmlCatalogDump -xmlCatalogFreeLocal -xmlCatalogGetDefaults -xmlCatalogGetPublic -xmlCatalogGetSystem -xmlCatalogIsEmpty -xmlCatalogLocalResolve -xmlCatalogLocalResolveURI -xmlCatalogRemove -xmlCatalogResolve -xmlCatalogResolvePublic -xmlCatalogResolveSystem -xmlCatalogResolveURI -xmlCatalogSetDebug -xmlCatalogSetDefaultPrefer -xmlCatalogSetDefaults -xmlCharEncCloseFunc -xmlCharEncFirstLine -xmlCharEncInFunc -xmlCharEncOutFunc -xmlCharStrdup -xmlCharStrndup -xmlCheckFilename -xmlCheckLanguageID -xmlCheckUTF8 -xmlCheckVersion -xmlCleanupCharEncodingHandlers -xmlCleanupEncodingAliases -xmlCleanupGlobals -xmlCleanupInputCallbacks -xmlCleanupOutputCallbacks -xmlCleanupParser -xmlCleanupPredefinedEntities -xmlCleanupThreads -xmlClearNodeInfoSeq -xmlClearParserCtxt -xmlConvertSGMLCatalog -xmlCopyAttributeTable -xmlCopyChar -xmlCopyCharMultiByte -xmlCopyDoc -xmlCopyDtd -xmlCopyElementContent -xmlCopyElementTable -xmlCopyEntitiesTable -xmlCopyEnumeration -xmlCopyNamespace -xmlCopyNamespaceList -xmlCopyNode -xmlCopyNodeList -xmlCopyNotationTable -xmlCopyProp -xmlCopyPropList -xmlCreateDocParserCtxt -xmlCreateEntitiesTable -xmlCreateEntityParserCtxt -xmlCreateEnumeration -xmlCreateFileParserCtxt -xmlCreateIOParserCtxt -xmlCreateIntSubset -xmlCreateMemoryParserCtxt -xmlCreatePushParserCtxt -xmlCreateURI -xmlCurrentChar -xmlDebugDumpAttr -xmlDebugDumpAttrList -xmlDebugDumpDTD -xmlDebugDumpDocument -xmlDebugDumpDocumentHead -xmlDebugDumpEntities -xmlDebugDumpNode -xmlDebugDumpNodeList -xmlDebugDumpOneNode -xmlDebugDumpString -xmlDecodeEntities -xmlDefaultSAXHandlerInit -xmlDelEncodingAlias -xmlDeregisterNodeDefault -xmlDetectCharEncoding -xmlDocCopyNode -xmlDocDump -xmlDocDumpFormatMemory -xmlDocDumpFormatMemoryEnc -xmlDocDumpMemory -xmlDocDumpMemoryEnc -xmlDocFormatDump -xmlDocGetRootElement -xmlDocSetRootElement -xmlDumpAttributeDecl -xmlDumpAttributeTable -xmlDumpElementDecl -xmlDumpElementTable -xmlDumpEntitiesTable -xmlDumpEntityDecl -xmlDumpNotationDecl -xmlDumpNotationTable -xmlElemDump -xmlEncodeEntities -xmlEncodeEntitiesReentrant -xmlEncodeSpecialChars -xmlFileClose -xmlFileMatch -xmlFileOpen -xmlFileRead -xmlFindCharEncodingHandler -xmlFreeAttributeTable -xmlFreeAutomata -xmlFreeCatalog -xmlFreeDoc -xmlFreeDtd -xmlFreeElementContent -xmlFreeElementTable -xmlFreeEntitiesTable -xmlFreeEnumeration -xmlFreeIDTable -xmlFreeInputStream -xmlFreeMutex -xmlFreeNode -xmlFreeNodeList -xmlFreeNotationTable -xmlFreeNs -xmlFreeNsList -xmlFreeParserCtxt -xmlFreeParserInputBuffer -xmlFreeProp -xmlFreePropList -xmlFreeRMutex -xmlFreeRefTable -xmlFreeTextReader -xmlFreeURI -xmlFreeValidCtxt -xmlGcMemGet -xmlGcMemSetup -xmlGetBufferAllocationScheme -xmlGetCharEncodingHandler -xmlGetCharEncodingName -xmlGetCompressMode -xmlGetDocCompressMode -xmlGetDocEntity -xmlGetDtdAttrDesc -xmlGetDtdElementDesc -xmlGetDtdEntity -xmlGetDtdNotationDesc -xmlGetDtdQAttrDesc -xmlGetDtdQElementDesc -xmlGetEncodingAlias -xmlGetExternalEntityLoader -xmlGetFeature -xmlGetFeaturesList -xmlGetGlobalState -xmlGetID -xmlGetIntSubset -xmlGetLastChild -xmlGetLineNo -xmlGetNoNsProp -xmlGetNodePath -xmlGetNsList -xmlGetNsProp -xmlGetParameterEntity -xmlGetPredefinedEntity -xmlGetProp -xmlGetRefs -xmlGetThreadId -xmlGetUTF8Char -xmlHandleEntity -xmlHasNsProp -xmlHasProp -xmlHashAddEntry -xmlHashAddEntry2 -xmlHashAddEntry3 -xmlHashCopy -xmlHashCreate -xmlHashFree -xmlHashLookup -xmlHashLookup2 -xmlHashLookup3 -xmlHashRemoveEntry -xmlHashRemoveEntry2 -xmlHashRemoveEntry3 -xmlHashScan -xmlHashScan3 -xmlHashScanFull -xmlHashScanFull3 -xmlHashSize -xmlHashUpdateEntry -xmlHashUpdateEntry2 -xmlHashUpdateEntry3 -xmlIOFTPClose -xmlIOFTPMatch -xmlIOFTPOpen -xmlIOFTPRead -xmlIOHTTPClose -xmlIOHTTPMatch -xmlIOHTTPOpen -xmlIOHTTPOpenW -xmlIOHTTPRead -xmlIOParseDTD -xmlInitCharEncodingHandlers -xmlInitGlobals -xmlInitMemory -xmlInitNodeInfoSeq -xmlInitParser -xmlInitParserCtxt -xmlInitThreads -xmlInitializeCatalog -xmlInitializeGlobalState -xmlInitializePredefinedEntities -xmlIsBaseChar -xmlIsBlank -xmlIsBlankNode -xmlIsChar -xmlIsCombining -xmlIsDigit -xmlIsExtender -xmlIsID -xmlIsIdeographic -xmlIsLetter -xmlIsMainThread -xmlIsMixedElement -xmlIsPubidChar -xmlIsRef -xmlIsXHTML -xmlKeepBlanksDefault -xmlLineNumbersDefault -xmlLinkGetData -xmlListAppend -xmlListClear -xmlListCopy -xmlListCreate -xmlListDelete -xmlListDup -xmlListEmpty -xmlListEnd -xmlListFront -xmlListInsert -xmlListMerge -xmlListPopBack -xmlListPopFront -xmlListPushBack -xmlListPushFront -xmlListRemoveAll -xmlListRemoveFirst -xmlListRemoveLast -xmlListReverse -xmlListReverseSearch -xmlListReverseWalk -xmlListSearch -xmlListSize -xmlListSort -xmlListWalk -xmlLoadACatalog -xmlLoadCatalog -xmlLoadCatalogs -xmlLoadExternalEntity -xmlLoadSGMLSuperCatalog -xmlLockLibrary -xmlLsCountNode -xmlLsOneNode -xmlMemDisplay -xmlMemFree -xmlMemGet -xmlMemMalloc -xmlMemRealloc -xmlMemSetup -xmlMemShow -xmlMemUsed -xmlMemoryDump -xmlMemoryStrdup -xmlMutexLock -xmlMutexUnlock -xmlNamespaceParseNCName -xmlNamespaceParseNSDef -xmlNamespaceParseQName -xmlNanoFTPCheckResponse -xmlNanoFTPCleanup -xmlNanoFTPClose -xmlNanoFTPCloseConnection -xmlNanoFTPConnect -xmlNanoFTPConnectTo -xmlNanoFTPCwd -xmlNanoFTPDele -xmlNanoFTPFreeCtxt -xmlNanoFTPGet -xmlNanoFTPGetConnection -xmlNanoFTPGetResponse -xmlNanoFTPGetSocket -xmlNanoFTPInit -xmlNanoFTPList -xmlNanoFTPNewCtxt -xmlNanoFTPOpen -xmlNanoFTPProxy -xmlNanoFTPQuit -xmlNanoFTPRead -xmlNanoFTPScanProxy -xmlNanoFTPUpdateURL -xmlNanoHTTPAuthHeader -xmlNanoHTTPCleanup -xmlNanoHTTPClose -xmlNanoHTTPFetch -xmlNanoHTTPInit -xmlNanoHTTPMethod -xmlNanoHTTPMethodRedir -xmlNanoHTTPOpen -xmlNanoHTTPOpenRedir -xmlNanoHTTPRead -xmlNanoHTTPReturnCode -xmlNanoHTTPSave -xmlNanoHTTPScanProxy -xmlNewAutomata -xmlNewCDataBlock -xmlNewCatalog -xmlNewCharEncodingHandler -xmlNewCharRef -xmlNewChild -xmlNewComment -xmlNewDoc -xmlNewDocComment -xmlNewDocFragment -xmlNewDocNode -xmlNewDocNodeEatName -xmlNewDocProp -xmlNewDocRawNode -xmlNewDocText -xmlNewDocTextLen -xmlNewDtd -xmlNewElementContent -xmlNewEntityInputStream -xmlNewGlobalNs -xmlNewIOInputStream -xmlNewInputFromFile -xmlNewInputStream -xmlNewMutex -xmlNewNode -xmlNewNodeEatName -xmlNewNs -xmlNewNsProp -xmlNewNsPropEatName -xmlNewPI -xmlNewParserCtxt -xmlNewProp -xmlNewRMutex -xmlNewReference -xmlNewStringInputStream -xmlNewText -xmlNewTextChild -xmlNewTextLen -xmlNewTextReader -xmlNewTextReaderFilename -xmlNewValidCtxt -xmlNextChar -xmlNoNetExternalEntityLoader -xmlNodeAddContent -xmlNodeAddContentLen -xmlNodeDump -xmlNodeDumpOutput -xmlNodeGetBase -xmlNodeGetContent -xmlNodeGetLang -xmlNodeGetSpacePreserve -xmlNodeIsText -xmlNodeListGetRawString -xmlNodeListGetString -xmlNodeSetBase -xmlNodeSetContent -xmlNodeSetContentLen -xmlNodeSetLang -xmlNodeSetName -xmlNodeSetSpacePreserve -xmlNormalizeURIPath -xmlNormalizeWindowsPath -xmlOutputBufferClose -xmlOutputBufferCreateFd -xmlOutputBufferCreateFile -xmlOutputBufferCreateFilename -xmlOutputBufferCreateIO -xmlOutputBufferFlush -xmlOutputBufferWrite -xmlOutputBufferWriteString -xmlParseAttValue -xmlParseAttribute -xmlParseAttributeListDecl -xmlParseAttributeType -xmlParseBalancedChunkMemory -xmlParseBalancedChunkMemoryRecover -xmlParseCDSect -xmlParseCatalogFile -xmlParseCharData -xmlParseCharEncoding -xmlParseCharRef -xmlParseChunk -xmlParseComment -xmlParseContent -xmlParseCtxtExternalEntity -xmlParseDTD -xmlParseDefaultDecl -xmlParseDoc -xmlParseDocTypeDecl -xmlParseDocument -xmlParseElement -xmlParseElementChildrenContentDecl -xmlParseElementContentDecl -xmlParseElementDecl -xmlParseElementMixedContentDecl -xmlParseEncName -xmlParseEncodingDecl -xmlParseEndTag -xmlParseEntity -xmlParseEntityDecl -xmlParseEntityRef -xmlParseEntityValue -xmlParseEnumeratedType -xmlParseEnumerationType -xmlParseExtParsedEnt -xmlParseExternalEntity -xmlParseExternalID -xmlParseExternalSubset -xmlParseFile -xmlParseMarkupDecl -xmlParseMemory -xmlParseMisc -xmlParseName -xmlParseNamespace -xmlParseNmtoken -xmlParseNotationDecl -xmlParseNotationType -xmlParsePEReference -xmlParsePI -xmlParsePITarget -xmlParsePubidLiteral -xmlParseQuotedString -xmlParseReference -xmlParseSDDecl -xmlParseStartTag -xmlParseSystemLiteral -xmlParseTextDecl -xmlParseURI -xmlParseURIReference -xmlParseVersionInfo -xmlParseVersionNum -xmlParseXMLDecl -xmlParserAddNodeInfo -xmlParserError -xmlParserFindNodeInfo -xmlParserFindNodeInfoIndex -xmlParserGetDirectory -xmlParserHandlePEReference -xmlParserHandleReference -xmlParserInputBufferCreateFd -xmlParserInputBufferCreateFile -xmlParserInputBufferCreateFilename -xmlParserInputBufferCreateIO -xmlParserInputBufferCreateMem -xmlParserInputBufferGrow -xmlParserInputBufferPush -xmlParserInputBufferRead -xmlParserInputGrow -xmlParserInputRead -xmlParserInputShrink -xmlParserPrintFileContext -xmlParserPrintFileInfo -xmlParserValidityError -xmlParserValidityWarning -xmlParserWarning -xmlPedanticParserDefault -xmlPopInput -xmlPrintURI -xmlPushInput -xmlRMutexLock -xmlRMutexUnlock -xmlReconciliateNs -xmlRecoverDoc -xmlRecoverFile -xmlRecoverMemory -xmlRegExecPushString -xmlRegExecPushString2 -xmlRegFreeExecCtxt -xmlRegFreeRegexp -xmlRegNewExecCtxt -xmlRegexpCompile -xmlRegexpExec -xmlRegexpIsDeterminist -xmlRegexpPrint -xmlRegisterCharEncodingHandler -xmlRegisterDefaultInputCallbacks -xmlRegisterDefaultOutputCallbacks -xmlRegisterHTTPPostCallbacks -xmlRegisterInputCallbacks -xmlRegisterNodeDefault -xmlRegisterOutputCallbacks -xmlRelaxNGCleanupTypes -xmlRelaxNGDump -xmlRelaxNGDumpTree -xmlRelaxNGFree -xmlRelaxNGFreeParserCtxt -xmlRelaxNGFreeValidCtxt -xmlRelaxNGGetParserErrors -xmlRelaxNGGetValidErrors -xmlRelaxNGNewDocParserCtxt -xmlRelaxNGNewMemParserCtxt -xmlRelaxNGNewParserCtxt -xmlRelaxNGNewValidCtxt -xmlRelaxNGParse -xmlRelaxNGSetParserErrors -xmlRelaxNGSetValidErrors -xmlRelaxNGValidateDoc -xmlRelaxNGValidateFullElement -xmlRelaxNGValidatePopElement -xmlRelaxNGValidatePushCData -xmlRelaxNGValidatePushElement -xmlRemoveID -xmlRemoveProp -xmlRemoveRef -xmlReplaceNode -xmlSAXParseDTD -xmlSAXParseDoc -xmlSAXParseEntity -xmlSAXParseFile -xmlSAXParseFileWithData -xmlSAXParseMemory -xmlSAXParseMemoryWithData -xmlSAXUserParseFile -xmlSAXUserParseMemory -xmlSaveFile -xmlSaveFileEnc -xmlSaveFileTo -xmlSaveFormatFile -xmlSaveFormatFileEnc -xmlSaveFormatFileTo -xmlSaveUri -xmlScanName -xmlSchemaCheckFacet -xmlSchemaCleanupTypes -xmlSchemaCompareValues -xmlSchemaDump -xmlSchemaFree -xmlSchemaFreeFacet -xmlSchemaFreeParserCtxt -xmlSchemaFreeType -xmlSchemaFreeValidCtxt -xmlSchemaFreeValue -xmlSchemaGetPredefinedType -xmlSchemaInitTypes -xmlSchemaNewFacet -xmlSchemaNewMemParserCtxt -xmlSchemaNewParserCtxt -xmlSchemaNewValidCtxt -xmlSchemaParse -xmlSchemaSetParserErrors -xmlSchemaSetValidErrors -xmlSchemaValPredefTypeNode -xmlSchemaValidateDoc -xmlSchemaValidateFacet -xmlSchemaValidatePredefinedType -xmlSchemaValidateStream -xmlSearchNs -xmlSearchNsByHref -xmlSetBufferAllocationScheme -xmlSetCompressMode -xmlSetDocCompressMode -xmlSetEntityReferenceFunc -xmlSetExternalEntityLoader -xmlSetFeature -xmlSetGenericErrorFunc -xmlSetListDoc -xmlSetNs -xmlSetNsProp -xmlSetProp -xmlSetTreeDoc -xmlSetupParserForBuffer -xmlShell -xmlShellBase -xmlShellCat -xmlShellDir -xmlShellDu -xmlShellList -xmlShellLoad -xmlShellPrintNode -xmlShellPrintXPathError -xmlShellPrintXPathResult -xmlShellPwd -xmlShellSave -xmlShellValidate -xmlShellWrite -xmlSkipBlankChars -xmlSnprintfElementContent -xmlSplitQName -xmlSplitQName2 -xmlSplitQName3 -xmlSprintfElementContent -xmlStopParser -xmlStrEqual -xmlStrcasecmp -xmlStrcasestr -xmlStrcat -xmlStrchr -xmlStrcmp -xmlStrdup -xmlStringCurrentChar -xmlStringDecodeEntities -xmlStringGetNodeList -xmlStringLenGetNodeList -xmlStrlen -xmlStrncasecmp -xmlStrncat -xmlStrncmp -xmlStrndup -xmlStrstr -xmlStrsub -xmlSubstituteEntitiesDefault -xmlSwitchEncoding -xmlSwitchToEncoding -xmlTextConcat -xmlTextMerge -xmlTextReaderAttributeCount -xmlTextReaderBaseUri -xmlTextReaderClose -xmlTextReaderCurrentDoc -xmlTextReaderCurrentNode -xmlTextReaderDepth -xmlTextReaderExpand -xmlTextReaderGetAttribute -xmlTextReaderGetAttributeNo -xmlTextReaderGetAttributeNs -xmlTextReaderGetErrorHandler -xmlTextReaderGetParserProp -xmlTextReaderGetRemainder -xmlTextReaderHasAttributes -xmlTextReaderHasValue -xmlTextReaderIsDefault -xmlTextReaderIsEmptyElement -xmlTextReaderIsValid -xmlTextReaderLocalName -xmlTextReaderLocatorBaseURI -xmlTextReaderLocatorLineNumber -xmlTextReaderLookupNamespace -xmlTextReaderMoveToAttribute -xmlTextReaderMoveToAttributeNo -xmlTextReaderMoveToAttributeNs -xmlTextReaderMoveToElement -xmlTextReaderMoveToFirstAttribute -xmlTextReaderMoveToNextAttribute -xmlTextReaderName -xmlTextReaderNamespaceUri -xmlTextReaderNext -xmlTextReaderNodeType -xmlTextReaderNormalization -xmlTextReaderPrefix -xmlTextReaderQuoteChar -xmlTextReaderRead -xmlTextReaderReadAttributeValue -xmlTextReaderReadInnerXml -xmlTextReaderReadOuterXml -xmlTextReaderReadState -xmlTextReaderReadString -xmlTextReaderRelaxNGSetSchema -xmlTextReaderRelaxNGValidate -xmlTextReaderSetErrorHandler -xmlTextReaderSetParserProp -xmlTextReaderValue -xmlTextReaderXmlLang -xmlThrDefBufferAllocScheme -xmlThrDefDefaultBufferSize -xmlThrDefDeregisterNodeDefault -xmlThrDefDoValidityCheckingDefaultValue -xmlThrDefGetWarningsDefaultValue -xmlThrDefIndentTreeOutput -xmlThrDefKeepBlanksDefaultValue -xmlThrDefLineNumbersDefaultValue -xmlThrDefLoadExtDtdDefaultValue -xmlThrDefParserDebugEntities -xmlThrDefPedanticParserDefaultValue -xmlThrDefRegisterNodeDefault -xmlThrDefSaveNoEmptyTags -xmlThrDefSetGenericErrorFunc -xmlThrDefSubstituteEntitiesDefaultValue -xmlThrDefTreeIndentString -xmlUCSIsAlphabeticPresentationForms -xmlUCSIsArabic -xmlUCSIsArabicPresentationFormsA -xmlUCSIsArabicPresentationFormsB -xmlUCSIsArmenian -xmlUCSIsArrows -xmlUCSIsBasicLatin -xmlUCSIsBengali -xmlUCSIsBlock -xmlUCSIsBlockElements -xmlUCSIsBopomofo -xmlUCSIsBopomofoExtended -xmlUCSIsBoxDrawing -xmlUCSIsBraillePatterns -xmlUCSIsByzantineMusicalSymbols -xmlUCSIsCJKCompatibility -xmlUCSIsCJKCompatibilityForms -xmlUCSIsCJKCompatibilityIdeographs -xmlUCSIsCJKCompatibilityIdeographsSupplement -xmlUCSIsCJKRadicalsSupplement -xmlUCSIsCJKSymbolsandPunctuation -xmlUCSIsCJKUnifiedIdeographs -xmlUCSIsCJKUnifiedIdeographsExtensionA -xmlUCSIsCJKUnifiedIdeographsExtensionB -xmlUCSIsCat -xmlUCSIsCatC -xmlUCSIsCatCc -xmlUCSIsCatCf -xmlUCSIsCatCo -xmlUCSIsCatCs -xmlUCSIsCatL -xmlUCSIsCatLl -xmlUCSIsCatLm -xmlUCSIsCatLo -xmlUCSIsCatLt -xmlUCSIsCatLu -xmlUCSIsCatM -xmlUCSIsCatMc -xmlUCSIsCatMe -xmlUCSIsCatMn -xmlUCSIsCatN -xmlUCSIsCatNd -xmlUCSIsCatNl -xmlUCSIsCatNo -xmlUCSIsCatP -xmlUCSIsCatPc -xmlUCSIsCatPd -xmlUCSIsCatPe -xmlUCSIsCatPf -xmlUCSIsCatPi -xmlUCSIsCatPo -xmlUCSIsCatPs -xmlUCSIsCatS -xmlUCSIsCatSc -xmlUCSIsCatSk -xmlUCSIsCatSm -xmlUCSIsCatSo -xmlUCSIsCatZ -xmlUCSIsCatZl -xmlUCSIsCatZp -xmlUCSIsCatZs -xmlUCSIsCherokee -xmlUCSIsCombiningDiacriticalMarks -xmlUCSIsCombiningHalfMarks -xmlUCSIsCombiningMarksforSymbols -xmlUCSIsControlPictures -xmlUCSIsCurrencySymbols -xmlUCSIsCyrillic -xmlUCSIsDeseret -xmlUCSIsDevanagari -xmlUCSIsDingbats -xmlUCSIsEnclosedAlphanumerics -xmlUCSIsEnclosedCJKLettersandMonths -xmlUCSIsEthiopic -xmlUCSIsGeneralPunctuation -xmlUCSIsGeometricShapes -xmlUCSIsGeorgian -xmlUCSIsGothic -xmlUCSIsGreek -xmlUCSIsGreekExtended -xmlUCSIsGujarati -xmlUCSIsGurmukhi -xmlUCSIsHalfwidthandFullwidthForms -xmlUCSIsHangulCompatibilityJamo -xmlUCSIsHangulJamo -xmlUCSIsHangulSyllables -xmlUCSIsHebrew -xmlUCSIsHighPrivateUseSurrogates -xmlUCSIsHighSurrogates -xmlUCSIsHiragana -xmlUCSIsIPAExtensions -xmlUCSIsIdeographicDescriptionCharacters -xmlUCSIsKanbun -xmlUCSIsKangxiRadicals -xmlUCSIsKannada -xmlUCSIsKatakana -xmlUCSIsKhmer -xmlUCSIsLao -xmlUCSIsLatin1Supplement -xmlUCSIsLatinExtendedA -xmlUCSIsLatinExtendedAdditional -xmlUCSIsLatinExtendedB -xmlUCSIsLetterlikeSymbols -xmlUCSIsLowSurrogates -xmlUCSIsMalayalam -xmlUCSIsMathematicalAlphanumericSymbols -xmlUCSIsMathematicalOperators -xmlUCSIsMiscellaneousSymbols -xmlUCSIsMiscellaneousTechnical -xmlUCSIsMongolian -xmlUCSIsMusicalSymbols -xmlUCSIsMyanmar -xmlUCSIsNumberForms -xmlUCSIsOgham -xmlUCSIsOldItalic -xmlUCSIsOpticalCharacterRecognition -xmlUCSIsOriya -xmlUCSIsPrivateUse -xmlUCSIsRunic -xmlUCSIsSinhala -xmlUCSIsSmallFormVariants -xmlUCSIsSpacingModifierLetters -xmlUCSIsSpecials -xmlUCSIsSuperscriptsandSubscripts -xmlUCSIsSyriac -xmlUCSIsTags -xmlUCSIsTamil -xmlUCSIsTelugu -xmlUCSIsThaana -xmlUCSIsThai -xmlUCSIsTibetan -xmlUCSIsUnifiedCanadianAboriginalSyllabics -xmlUCSIsYiRadicals -xmlUCSIsYiSyllables -xmlURIEscape -xmlURIEscapeStr -xmlURIUnescapeString -xmlUTF8Charcmp -xmlUTF8Size -xmlUTF8Strlen -xmlUTF8Strloc -xmlUTF8Strndup -xmlUTF8Strpos -xmlUTF8Strsize -xmlUTF8Strsub -xmlUnlinkNode -xmlUnlockLibrary -xmlUnsetNsProp -xmlUnsetProp -xmlValidBuildContentModel -xmlValidCtxtNormalizeAttributeValue -xmlValidGetPotentialChildren -xmlValidGetValidElements -xmlValidNormalizeAttributeValue -xmlValidateAttributeDecl -xmlValidateAttributeValue -xmlValidateDocument -xmlValidateDocumentFinal -xmlValidateDtd -xmlValidateDtdFinal -xmlValidateElement -xmlValidateElementDecl -xmlValidateNCName -xmlValidateNMToken -xmlValidateName -xmlValidateNameValue -xmlValidateNamesValue -xmlValidateNmtokenValue -xmlValidateNmtokensValue -xmlValidateNotationDecl -xmlValidateNotationUse -xmlValidateOneAttribute -xmlValidateOneElement -xmlValidateOneNamespace -xmlValidatePopElement -xmlValidatePushCData -xmlValidatePushElement -xmlValidateQName -xmlValidateRoot -xmlXIncludeProcess -xmlXIncludeProcessTree -xmlXPathAddValues -xmlXPathBooleanFunction -xmlXPathCastBooleanToNumber -xmlXPathCastBooleanToString -xmlXPathCastNodeSetToBoolean -xmlXPathCastNodeSetToNumber -xmlXPathCastNodeSetToString -xmlXPathCastNodeToNumber -xmlXPathCastNodeToString -xmlXPathCastNumberToBoolean -xmlXPathCastNumberToString -xmlXPathCastStringToBoolean -xmlXPathCastStringToNumber -xmlXPathCastToBoolean -xmlXPathCastToNumber -xmlXPathCastToString -xmlXPathCeilingFunction -xmlXPathCmpNodes -xmlXPathCompareValues -xmlXPathCompile -xmlXPathCompiledEval -xmlXPathConcatFunction -xmlXPathContainsFunction -xmlXPathConvertBoolean -xmlXPathConvertNumber -xmlXPathConvertString -xmlXPathCountFunction -xmlXPathDebugDumpCompExpr -xmlXPathDebugDumpObject -xmlXPathDifference -xmlXPathDistinct -xmlXPathDistinctSorted -xmlXPathDivValues -xmlXPathEqualValues -xmlXPathEval -xmlXPathEvalExpr -xmlXPathEvalExpression -xmlXPathEvalPredicate -xmlXPathEvaluatePredicateResult -xmlXPathFalseFunction -xmlXPathFloorFunction -xmlXPathFreeCompExpr -xmlXPathFreeContext -xmlXPathFreeNodeSet -xmlXPathFreeNodeSetList -xmlXPathFreeObject -xmlXPathFreeParserContext -xmlXPathFunctionLookup -xmlXPathFunctionLookupNS -xmlXPathHasSameNodes -xmlXPathIdFunction -xmlXPathInit -xmlXPathIntersection -xmlXPathIsInf -xmlXPathIsNaN -xmlXPathIsNodeType -xmlXPathLangFunction -xmlXPathLastFunction -xmlXPathLeading -xmlXPathLeadingSorted -xmlXPathLocalNameFunction -xmlXPathModValues -xmlXPathMultValues -xmlXPathNamespaceURIFunction -xmlXPathNewBoolean -xmlXPathNewCString -xmlXPathNewContext -xmlXPathNewFloat -xmlXPathNewNodeSet -xmlXPathNewNodeSetList -xmlXPathNewParserContext -xmlXPathNewString -xmlXPathNewValueTree -xmlXPathNextAncestor -xmlXPathNextAncestorOrSelf -xmlXPathNextAttribute -xmlXPathNextChild -xmlXPathNextDescendant -xmlXPathNextDescendantOrSelf -xmlXPathNextFollowing -xmlXPathNextFollowingSibling -xmlXPathNextNamespace -xmlXPathNextParent -xmlXPathNextPreceding -xmlXPathNextPrecedingSibling -xmlXPathNextSelf -xmlXPathNodeLeading -xmlXPathNodeLeadingSorted -xmlXPathNodeSetAdd -xmlXPathNodeSetAddNs -xmlXPathNodeSetAddUnique -xmlXPathNodeSetContains -xmlXPathNodeSetCreate -xmlXPathNodeSetDel -xmlXPathNodeSetFreeNs -xmlXPathNodeSetMerge -xmlXPathNodeSetRemove -xmlXPathNodeSetSort -xmlXPathNodeTrailing -xmlXPathNodeTrailingSorted -xmlXPathNormalizeFunction -xmlXPathNotEqualValues -xmlXPathNotFunction -xmlXPathNsLookup -xmlXPathNumberFunction -xmlXPathObjectCopy -xmlXPathOrderDocElems -xmlXPathParseNCName -xmlXPathParseName -xmlXPathPopBoolean -xmlXPathPopExternal -xmlXPathPopNodeSet -xmlXPathPopNumber -xmlXPathPopString -xmlXPathPositionFunction -xmlXPathRegisterAllFunctions -xmlXPathRegisterFunc -xmlXPathRegisterFuncLookup -xmlXPathRegisterFuncNS -xmlXPathRegisterNs -xmlXPathRegisterVariable -xmlXPathRegisterVariableLookup -xmlXPathRegisterVariableNS -xmlXPathRegisteredFuncsCleanup -xmlXPathRegisteredNsCleanup -xmlXPathRegisteredVariablesCleanup -xmlXPathRoot -xmlXPathRoundFunction -xmlXPathStartsWithFunction -xmlXPathStringEvalNumber -xmlXPathStringFunction -xmlXPathStringLengthFunction -xmlXPathSubValues -xmlXPathSubstringAfterFunction -xmlXPathSubstringBeforeFunction -xmlXPathSubstringFunction -xmlXPathSumFunction -xmlXPathTrailing -xmlXPathTrailingSorted -xmlXPathTranslateFunction -xmlXPathTrueFunction -xmlXPathValueFlipSign -xmlXPathVariableLookup -xmlXPathVariableLookupNS -xmlXPathWrapCString -xmlXPathWrapExternal -xmlXPathWrapNodeSet -xmlXPathWrapString -xmlXPatherror -xmlXPtrBuildNodeList -xmlXPtrEval -xmlXPtrEvalRangePredicate -xmlXPtrFreeLocationSet -xmlXPtrLocationSetAdd -xmlXPtrLocationSetCreate -xmlXPtrLocationSetDel -xmlXPtrLocationSetMerge -xmlXPtrLocationSetRemove -xmlXPtrNewCollapsedRange -xmlXPtrNewContext -xmlXPtrNewLocationSetNodeSet -xmlXPtrNewLocationSetNodes -xmlXPtrNewRange -xmlXPtrNewRangeNodeObject -xmlXPtrNewRangeNodePoint -xmlXPtrNewRangeNodes -xmlXPtrNewRangePointNode -xmlXPtrNewRangePoints -xmlXPtrRangeToFunction -xmlXPtrWrapLocationSet -_libiconv_version -libiconv_close -libiconv -libiconv_open |