mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Add ext/xml stubs
This commit is contained in:
parent
9d4a9ad0c7
commit
7e8b3dd542
3 changed files with 143 additions and 108 deletions
110
ext/xml/xml.c
110
ext/xml/xml.c
|
@ -37,6 +37,8 @@
|
||||||
#include "ext/libxml/php_libxml.h"
|
#include "ext/libxml/php_libxml.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "xml_arginfo.h"
|
||||||
|
|
||||||
/* Short-term TODO list:
|
/* Short-term TODO list:
|
||||||
* - Implement XML_ExternalEntityParserCreate()
|
* - Implement XML_ExternalEntityParserCreate()
|
||||||
* - XML_SetCommentHandler
|
* - XML_SetCommentHandler
|
||||||
|
@ -205,114 +207,6 @@ void _xml_endNamespaceDeclHandler(void *, const XML_Char *);
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
||||||
/* {{{ extension definition structures */
|
/* {{{ extension definition structures */
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_parser_create, 0, 0, 0)
|
|
||||||
ZEND_ARG_INFO(0, encoding)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_parser_create_ns, 0, 0, 0)
|
|
||||||
ZEND_ARG_INFO(0, encoding)
|
|
||||||
ZEND_ARG_INFO(0, sep)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_set_object, 0, 0, 2)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_ARG_INFO(0, obj)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_set_element_handler, 0, 0, 3)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_ARG_INFO(0, shdl)
|
|
||||||
ZEND_ARG_INFO(0, ehdl)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_set_character_data_handler, 0, 0, 2)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_ARG_INFO(0, hdl)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_set_processing_instruction_handler, 0, 0, 2)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_ARG_INFO(0, hdl)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_set_default_handler, 0, 0, 2)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_ARG_INFO(0, hdl)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_set_unparsed_entity_decl_handler, 0, 0, 2)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_ARG_INFO(0, hdl)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_set_notation_decl_handler, 0, 0, 2)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_ARG_INFO(0, hdl)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_set_external_entity_ref_handler, 0, 0, 2)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_ARG_INFO(0, hdl)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_set_start_namespace_decl_handler, 0, 0, 2)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_ARG_INFO(0, hdl)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_set_end_namespace_decl_handler, 0, 0, 2)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_ARG_INFO(0, hdl)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_parse, 0, 0, 2)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_ARG_INFO(0, data)
|
|
||||||
ZEND_ARG_INFO(0, isfinal)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_parse_into_struct, 0, 0, 3)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_ARG_INFO(0, data)
|
|
||||||
ZEND_ARG_INFO(1, values)
|
|
||||||
ZEND_ARG_INFO(1, index)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_get_error_code, 0, 0, 1)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_error_string, 0, 0, 1)
|
|
||||||
ZEND_ARG_INFO(0, code)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_get_current_line_number, 0, 0, 1)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_get_current_column_number, 0, 0, 1)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_get_current_byte_index, 0, 0, 1)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_parser_free, 0, 0, 1)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_parser_set_option, 0, 0, 3)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_ARG_INFO(0, option)
|
|
||||||
ZEND_ARG_INFO(0, value)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_parser_get_option, 0, 0, 2)
|
|
||||||
ZEND_ARG_INFO(0, parser)
|
|
||||||
ZEND_ARG_INFO(0, option)
|
|
||||||
ZEND_END_ARG_INFO()
|
|
||||||
|
|
||||||
static const zend_function_entry xml_functions[] = {
|
static const zend_function_entry xml_functions[] = {
|
||||||
PHP_FE(xml_parser_create, arginfo_xml_parser_create)
|
PHP_FE(xml_parser_create, arginfo_xml_parser_create)
|
||||||
PHP_FE(xml_parser_create_ns, arginfo_xml_parser_create_ns)
|
PHP_FE(xml_parser_create_ns, arginfo_xml_parser_create_ns)
|
||||||
|
|
59
ext/xml/xml.stub.php
Normal file
59
ext/xml/xml.stub.php
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/** @return XmlParser|false */
|
||||||
|
function xml_parser_create(string $encoding = UNKNOWN) {}
|
||||||
|
|
||||||
|
/** @return XmlParser|false */
|
||||||
|
function xml_parser_create_ns(string $encoding = UNBEKANNT, string $sep = ':') {}
|
||||||
|
|
||||||
|
function xml_set_object(XmlParser $parser, object $obj): bool {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param callable $shdl
|
||||||
|
* @param callable $ehdl
|
||||||
|
*/
|
||||||
|
function xml_set_element_handler(XmlParser $parser, $shdl, $ehdl): bool {}
|
||||||
|
|
||||||
|
/** @param callable $hdl */
|
||||||
|
function xml_set_character_data_handler(XmlParser $parser, $hdl): bool {}
|
||||||
|
|
||||||
|
/** @param callable $hdl */
|
||||||
|
function xml_set_processing_instruction_handler(XmlParser $parser, $hdl): bool {}
|
||||||
|
|
||||||
|
/** @param callable $hdl */
|
||||||
|
function xml_set_default_handler(XmlParser $parser, $hdl): bool {}
|
||||||
|
|
||||||
|
/** @param callable $hdl */
|
||||||
|
function xml_set_unparsed_entity_decl_handler(XmlParser $parser, $hdl): bool {}
|
||||||
|
|
||||||
|
/** @param callable $hdl */
|
||||||
|
function xml_set_notation_decl_handler(XmlParser $parser, $hdl): bool {}
|
||||||
|
|
||||||
|
/** @param callable $hdl */
|
||||||
|
function xml_set_external_entity_ref_handler(XmlParser $parser, $hdl): bool {}
|
||||||
|
|
||||||
|
/** @param callable $hdl */
|
||||||
|
function xml_set_start_namespace_decl_handler(XmlParser $parser, $hdl): bool {}
|
||||||
|
|
||||||
|
/** @param callable $hdl */
|
||||||
|
function xml_set_end_namespace_decl_handler(XmlParser $parser, $hdl): bool {}
|
||||||
|
|
||||||
|
function xml_parse(XmlParser $parser, string $data, bool $isfinal = false): int {}
|
||||||
|
|
||||||
|
function xml_parse_into_struct(XmlParser $parser, string $data, &$values, &$index = UNKNOWN): int {}
|
||||||
|
|
||||||
|
function xml_get_error_code(XmlParser $parser): int {}
|
||||||
|
|
||||||
|
function xml_error_string(int $code): ?string {}
|
||||||
|
|
||||||
|
function xml_get_current_line_number(XmlParser $parser): int {}
|
||||||
|
|
||||||
|
function xml_get_current_column_number(XmlParser $parser): int {}
|
||||||
|
|
||||||
|
function xml_get_current_byte_index(XmlParser $parser): int {}
|
||||||
|
|
||||||
|
function xml_parser_free(XmlParser $parser): bool {}
|
||||||
|
|
||||||
|
function xml_parser_set_option(XmlParser $parser, int $option, $value): bool {}
|
||||||
|
|
||||||
|
function xml_parser_get_option(XmlParser $parser, int $option) {}
|
82
ext/xml/xml_arginfo.h
Normal file
82
ext/xml/xml_arginfo.h
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
/* This is a generated file, edit the .stub.php file instead. */
|
||||||
|
|
||||||
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_parser_create, 0, 0, 0)
|
||||||
|
ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0)
|
||||||
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_parser_create_ns, 0, 0, 0)
|
||||||
|
ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0)
|
||||||
|
ZEND_ARG_TYPE_INFO(0, sep, IS_STRING, 0)
|
||||||
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
|
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xml_set_object, 0, 2, _IS_BOOL, 0)
|
||||||
|
ZEND_ARG_OBJ_INFO(0, parser, XmlParser, 0)
|
||||||
|
ZEND_ARG_TYPE_INFO(0, obj, IS_OBJECT, 0)
|
||||||
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
|
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xml_set_element_handler, 0, 3, _IS_BOOL, 0)
|
||||||
|
ZEND_ARG_OBJ_INFO(0, parser, XmlParser, 0)
|
||||||
|
ZEND_ARG_INFO(0, shdl)
|
||||||
|
ZEND_ARG_INFO(0, ehdl)
|
||||||
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
|
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xml_set_character_data_handler, 0, 2, _IS_BOOL, 0)
|
||||||
|
ZEND_ARG_OBJ_INFO(0, parser, XmlParser, 0)
|
||||||
|
ZEND_ARG_INFO(0, hdl)
|
||||||
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
|
#define arginfo_xml_set_processing_instruction_handler arginfo_xml_set_character_data_handler
|
||||||
|
|
||||||
|
#define arginfo_xml_set_default_handler arginfo_xml_set_character_data_handler
|
||||||
|
|
||||||
|
#define arginfo_xml_set_unparsed_entity_decl_handler arginfo_xml_set_character_data_handler
|
||||||
|
|
||||||
|
#define arginfo_xml_set_notation_decl_handler arginfo_xml_set_character_data_handler
|
||||||
|
|
||||||
|
#define arginfo_xml_set_external_entity_ref_handler arginfo_xml_set_character_data_handler
|
||||||
|
|
||||||
|
#define arginfo_xml_set_start_namespace_decl_handler arginfo_xml_set_character_data_handler
|
||||||
|
|
||||||
|
#define arginfo_xml_set_end_namespace_decl_handler arginfo_xml_set_character_data_handler
|
||||||
|
|
||||||
|
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xml_parse, 0, 2, IS_LONG, 0)
|
||||||
|
ZEND_ARG_OBJ_INFO(0, parser, XmlParser, 0)
|
||||||
|
ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
|
||||||
|
ZEND_ARG_TYPE_INFO(0, isfinal, _IS_BOOL, 0)
|
||||||
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
|
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xml_parse_into_struct, 0, 3, IS_LONG, 0)
|
||||||
|
ZEND_ARG_OBJ_INFO(0, parser, XmlParser, 0)
|
||||||
|
ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
|
||||||
|
ZEND_ARG_INFO(1, values)
|
||||||
|
ZEND_ARG_INFO(1, index)
|
||||||
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
|
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xml_get_error_code, 0, 1, IS_LONG, 0)
|
||||||
|
ZEND_ARG_OBJ_INFO(0, parser, XmlParser, 0)
|
||||||
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
|
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xml_error_string, 0, 1, IS_STRING, 1)
|
||||||
|
ZEND_ARG_TYPE_INFO(0, code, IS_LONG, 0)
|
||||||
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
|
#define arginfo_xml_get_current_line_number arginfo_xml_get_error_code
|
||||||
|
|
||||||
|
#define arginfo_xml_get_current_column_number arginfo_xml_get_error_code
|
||||||
|
|
||||||
|
#define arginfo_xml_get_current_byte_index arginfo_xml_get_error_code
|
||||||
|
|
||||||
|
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xml_parser_free, 0, 1, _IS_BOOL, 0)
|
||||||
|
ZEND_ARG_OBJ_INFO(0, parser, XmlParser, 0)
|
||||||
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
|
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xml_parser_set_option, 0, 3, _IS_BOOL, 0)
|
||||||
|
ZEND_ARG_OBJ_INFO(0, parser, XmlParser, 0)
|
||||||
|
ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
|
||||||
|
ZEND_ARG_INFO(0, value)
|
||||||
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_xml_parser_get_option, 0, 0, 2)
|
||||||
|
ZEND_ARG_OBJ_INFO(0, parser, XmlParser, 0)
|
||||||
|
ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
|
||||||
|
ZEND_END_ARG_INFO()
|
Loading…
Add table
Add a link
Reference in a new issue