Return to php_xml.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / xml |
1.1 ! misho 1: /* ! 2: +----------------------------------------------------------------------+ ! 3: | PHP Version 5 | ! 4: +----------------------------------------------------------------------+ ! 5: | Copyright (c) 1997-2012 The PHP Group | ! 6: +----------------------------------------------------------------------+ ! 7: | This source file is subject to version 3.01 of the PHP license, | ! 8: | that is bundled with this package in the file LICENSE, and is | ! 9: | available through the world-wide-web at the following url: | ! 10: | http://www.php.net/license/3_01.txt | ! 11: | If you did not receive a copy of the PHP license and are unable to | ! 12: | obtain it through the world-wide-web, please send a note to | ! 13: | license@php.net so we can mail you a copy immediately. | ! 14: +----------------------------------------------------------------------+ ! 15: | Authors: Stig Sæther Bakken <ssb@php.net> | ! 16: | Thies C. Arntzen <thies@thieso.net> | ! 17: | Sterling Hughes <sterling@php.net> | ! 18: +----------------------------------------------------------------------+ ! 19: */ ! 20: ! 21: /* $Id: php_xml.h 321634 2012-01-01 13:15:04Z felipe $ */ ! 22: ! 23: #ifndef PHP_XML_H ! 24: #define PHP_XML_H ! 25: ! 26: #ifdef HAVE_XML ! 27: extern zend_module_entry xml_module_entry; ! 28: #define xml_module_ptr &xml_module_entry ! 29: #else ! 30: #define xml_module_ptr NULL ! 31: #endif ! 32: ! 33: #ifdef HAVE_XML ! 34: ! 35: #include "ext/xml/expat_compat.h" ! 36: ! 37: ! 38: #ifdef XML_UNICODE ! 39: #error "UTF-16 Unicode support not implemented!" ! 40: #endif ! 41: ! 42: ZEND_BEGIN_MODULE_GLOBALS(xml) ! 43: XML_Char *default_encoding; ! 44: ZEND_END_MODULE_GLOBALS(xml) ! 45: ! 46: typedef struct { ! 47: int index; ! 48: int case_folding; ! 49: XML_Parser parser; ! 50: XML_Char *target_encoding; ! 51: ! 52: zval *startElementHandler; ! 53: zval *endElementHandler; ! 54: zval *characterDataHandler; ! 55: zval *processingInstructionHandler; ! 56: zval *defaultHandler; ! 57: zval *unparsedEntityDeclHandler; ! 58: zval *notationDeclHandler; ! 59: zval *externalEntityRefHandler; ! 60: zval *unknownEncodingHandler; ! 61: zval *startNamespaceDeclHandler; ! 62: zval *endNamespaceDeclHandler; ! 63: ! 64: zend_function *startElementPtr; ! 65: zend_function *endElementPtr; ! 66: zend_function *characterDataPtr; ! 67: zend_function *processingInstructionPtr; ! 68: zend_function *defaultPtr; ! 69: zend_function *unparsedEntityDeclPtr; ! 70: zend_function *notationDeclPtr; ! 71: zend_function *externalEntityRefPtr; ! 72: zend_function *unknownEncodingPtr; ! 73: zend_function *startNamespaceDeclPtr; ! 74: zend_function *endNamespaceDeclPtr; ! 75: ! 76: zval *object; ! 77: ! 78: zval *data; ! 79: zval *info; ! 80: int level; ! 81: int toffset; ! 82: int curtag; ! 83: zval **ctag; ! 84: char **ltags; ! 85: int lastwasopen; ! 86: int skipwhite; ! 87: int isparsing; ! 88: ! 89: XML_Char *baseURI; ! 90: } xml_parser; ! 91: ! 92: ! 93: typedef struct { ! 94: XML_Char *name; ! 95: char (*decoding_function)(unsigned short); ! 96: unsigned short (*encoding_function)(unsigned char); ! 97: } xml_encoding; ! 98: ! 99: ! 100: enum php_xml_option { ! 101: PHP_XML_OPTION_CASE_FOLDING = 1, ! 102: PHP_XML_OPTION_TARGET_ENCODING, ! 103: PHP_XML_OPTION_SKIP_TAGSTART, ! 104: PHP_XML_OPTION_SKIP_WHITE ! 105: }; ! 106: ! 107: /* for xml_parse_into_struct */ ! 108: ! 109: #define XML_MAXLEVEL 255 /* XXX this should be dynamic */ ! 110: ! 111: PHP_FUNCTION(xml_parser_create); ! 112: PHP_FUNCTION(xml_parser_create_ns); ! 113: PHP_FUNCTION(xml_set_object); ! 114: PHP_FUNCTION(xml_set_element_handler); ! 115: PHP_FUNCTION(xml_set_character_data_handler); ! 116: PHP_FUNCTION(xml_set_processing_instruction_handler); ! 117: PHP_FUNCTION(xml_set_default_handler); ! 118: PHP_FUNCTION(xml_set_unparsed_entity_decl_handler); ! 119: PHP_FUNCTION(xml_set_notation_decl_handler); ! 120: PHP_FUNCTION(xml_set_external_entity_ref_handler); ! 121: PHP_FUNCTION(xml_set_start_namespace_decl_handler); ! 122: PHP_FUNCTION(xml_set_end_namespace_decl_handler); ! 123: PHP_FUNCTION(xml_parse); ! 124: PHP_FUNCTION(xml_get_error_code); ! 125: PHP_FUNCTION(xml_error_string); ! 126: PHP_FUNCTION(xml_get_current_line_number); ! 127: PHP_FUNCTION(xml_get_current_column_number); ! 128: PHP_FUNCTION(xml_get_current_byte_index); ! 129: PHP_FUNCTION(xml_parser_free); ! 130: PHP_FUNCTION(xml_parser_set_option); ! 131: PHP_FUNCTION(xml_parser_get_option); ! 132: PHP_FUNCTION(utf8_encode); ! 133: PHP_FUNCTION(utf8_decode); ! 134: PHP_FUNCTION(xml_parse_into_struct); ! 135: ! 136: PHPAPI char *_xml_zval_strdup(zval *val); ! 137: PHPAPI char *xml_utf8_decode(const XML_Char *, int, int *, const XML_Char *); ! 138: PHPAPI char *xml_utf8_encode(const char *s, int len, int *newlen, const XML_Char *encoding); ! 139: ! 140: #endif /* HAVE_LIBEXPAT */ ! 141: ! 142: #define phpext_xml_ptr xml_module_ptr ! 143: ! 144: #ifdef ZTS ! 145: #define XML(v) TSRMG(xml_globals_id, zend_xml_globals *, v) ! 146: #else ! 147: #define XML(v) (xml_globals.v) ! 148: #endif ! 149: ! 150: #endif /* PHP_XML_H */ ! 151: ! 152: /* ! 153: * Local variables: ! 154: * tab-width: 4 ! 155: * c-basic-offset: 4 ! 156: * End: ! 157: */