#define XMLREADER_LOAD_STRING 0
#define XMLREADER_LOAD_FILE 1
-
+/* {{{ xmlreader_register_prop_handler */
static void xmlreader_register_prop_handler(HashTable *prop_handler, char *name, xmlreader_read_int_t read_int_func, xmlreader_read_const_char_t read_char_func, int rettype TSRMLS_DC)
{
xmlreader_prop_handler hnd;
hnd.type = rettype;
zend_hash_add(prop_handler, name, strlen(name)+1, &hnd, sizeof(xmlreader_prop_handler), NULL);
}
-
+/* }}} */
+/* {{{ xmlreader_property_reader */
static int xmlreader_property_reader(xmlreader_object *obj, xmlreader_prop_handler *hnd, zval **retval TSRMLS_DC)
{
const xmlChar *retchar = NULL;
return SUCCESS;
}
+/* }}} */
/* {{{ xmlreader_read_property */
zval *xmlreader_read_property(zval *object, zval *member, int type TSRMLS_DC)
}
/* }}} */
+/* {{{ _xmlreader_get_valid_file_path */
/* _xmlreader_get_valid_file_path and _xmlreader_get_relaxNG should be made a
common function in libxml extension as code is common to a few xml extensions */
char *_xmlreader_get_valid_file_path(char *source, char *resolved_path, int resolved_path_len TSRMLS_DC) {
return file_dest;
}
+/* }}} */
+
#ifdef LIBXML_SCHEMAS_ENABLED
+/* {{{ _xmlreader_get_relaxNG */
static xmlRelaxNGPtr _xmlreader_get_relaxNG(char *source, int source_len, int type,
xmlRelaxNGValidityErrorFunc error_func,
xmlRelaxNGValidityWarningFunc warn_func TSRMLS_DC)
return sptr;
}
+/* }}} */
#endif
#if ZEND_MODULE_API_NO >= 20050922
}
/* }}} */
+/* {{{ xmlreader_free_resources */
static void xmlreader_free_resources(xmlreader_object *intern) {
if (intern) {
if (intern->ptr) {
#endif
}
}
+/* }}} */
/* {{{ xmlreader_objects_free_storage */
void xmlreader_objects_free_storage(void *object TSRMLS_DC)
}
/* }}} */
+/* {{{ php_xmlreader_string_arg */
static void php_xmlreader_string_arg(INTERNAL_FUNCTION_PARAMETERS, xmlreader_read_one_char_t internal_function) {
zval *id;
int name_len = 0;
RETVAL_EMPTY_STRING();
}
}
+/* }}} */
+/* {{{ php_xmlreader_no_arg */
static void php_xmlreader_no_arg(INTERNAL_FUNCTION_PARAMETERS, xmlreader_read_int_t internal_function) {
zval *id;
int retval;
RETURN_FALSE;
}
+/* }}} */
+/* {{{ php_xmlreader_no_arg_string */
static void php_xmlreader_no_arg_string(INTERNAL_FUNCTION_PARAMETERS, xmlreader_read_char_t internal_function) {
zval *id;
char *retchar = NULL;
RETVAL_EMPTY_STRING();
}
}
+/* }}} */
+/* {{{ php_xmlreader_set_relaxng_schema */
static void php_xmlreader_set_relaxng_schema(INTERNAL_FUNCTION_PARAMETERS, int type) {
#ifdef LIBXML_SCHEMAS_ENABLED
zval *id;
RETURN_FALSE;
#endif
}
+/* }}} */
/* {{{ proto boolean XMLReader::close()
Closes xmlreader - current frees resources until xmlTextReaderClose is fixed in libxml */
RETURN_TRUE;
}
+/* }}} */
/* {{{ proto string XMLReader::getAttribute(string name)
Get value of an attribute from current element */
*/
#if LIBXML_VERSION >= 20620
+/* {{{ proto boolean XMLReader::readInnerXml()
+Reads the contents of the current node, including child nodes and markup. */
PHP_METHOD(xmlreader, readInnerXml)
{
php_xmlreader_no_arg_string(INTERNAL_FUNCTION_PARAM_PASSTHRU, xmlTextReaderReadInnerXml);
}
+/* }}} */
+/* {{{ proto boolean XMLReader::readOuterXml()
+Reads the contents of the current node, including child nodes and markup. */
PHP_METHOD(xmlreader, readOuterXml)
{
php_xmlreader_no_arg_string(INTERNAL_FUNCTION_PARAM_PASSTHRU, xmlTextReaderReadOuterXml);
}
+/* }}} */
+/* {{{ proto boolean XMLReader::readString()
+Reads the contents of an element or a text node as a string. */
PHP_METHOD(xmlreader, readString)
{
php_xmlreader_no_arg_string(INTERNAL_FUNCTION_PARAM_PASSTHRU, xmlTextReaderReadString);
}
+/* }}} */
#endif
/* {{{ proto boolean XMLReader::setParserProperty(int property, boolean value)