[prev in list] [next in list] [prev in thread] [next in thread]
List: php-cvs
Subject: [PHP-CVS] cvs: php4 /ext/domxml php_domxml.c php_domxml.h
From: "Brad LaFountain" <rodif_bl () yahoo ! com>
Date: 2002-05-31 5:58:40
[Download RAW message or body]
rodif_bl Fri May 31 01:58:40 2002 EDT
Modified files:
/php4/ext/domxml php_domxml.c php_domxml.h
Log:
added the ability to use new keywork with domxmls objects "new DomDocument()"
instead of xmldoc. This also allows you to create nodes without having
a whole document "new DomElement("foo")".
moved DOMXML_API_VERSION to php_domxml.h
exposed php_domobject_new for other extensions to use
removed some un-needed code
["rodif_bl-20020531015840.txt" (text/plain)]
Index: php4/ext/domxml/php_domxml.c
diff -u php4/ext/domxml/php_domxml.c:1.159 php4/ext/domxml/php_domxml.c:1.160
--- php4/ext/domxml/php_domxml.c:1.159 Sat May 18 20:02:05 2002
+++ php4/ext/domxml/php_domxml.c Fri May 31 01:58:40 2002
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_domxml.c,v 1.159 2002/05/19 00:02:05 sniper Exp $ */
+/* $Id: php_domxml.c,v 1.160 2002/05/31 05:58:40 rodif_bl Exp $ */
/* TODO
* - Support Notation Nodes
@@ -34,14 +34,12 @@
#include "ext/standard/info.h"
#define PHP_XPATH 1
#define PHP_XPTR 2
-/* DOMXML API_VERSION, please bump it up, if you change anything in the API
- therefore it's easier for the script-programmers to check, what's working how
- Can be checked with phpversion("domxml");
-*/
-#define DOMXML_API_VERSION "20020516"
/* General macros used by domxml */
-#define DOMXML_DOMOBJ_NEW(zval, obj, ret) if (NULL == (zval = \
php_domobject_new(obj, ret TSRMLS_CC))) { \ +
+#define DOMXML_IS_TYPE(zval, ce) (zval && Z_TYPE_P(zval) == IS_OBJECT && \
Z_OBJCE_P(zval)->refcount == ce->refcount) +
+#define DOMXML_DOMOBJ_NEW(zval, obj, ret) if (NULL == (zval = \
php_domobject_new(obj, ret, zval TSRMLS_CC))) { \
php_error(E_WARNING, "%s(): cannot create required DOM object", \
get_active_function_name(TSRMLS_C)); \
RETURN_FALSE; \
@@ -203,9 +201,9 @@
PHP_FE(html_doc, NULL)
PHP_FE(html_doc_file, NULL)
#endif
- PHP_FE(domxml_xmltree, NULL)
- PHP_FALIAS(xmltree, domxml_xmltree, NULL)
- PHP_FE(domxml_substitute_entities_default, NULL)
+ PHP_FE(domxml_xmltree, NULL)
+ PHP_FALIAS(xmltree, domxml_xmltree, NULL)
+ PHP_FE(domxml_substitute_entities_default, NULL)
PHP_FE(domxml_doc_document_element, NULL)
PHP_FE(domxml_doc_add_root, NULL)
PHP_FE(domxml_doc_set_root, NULL)
@@ -226,7 +224,7 @@
PHP_FE(domxml_node_set_content, NULL)
PHP_FE(domxml_node_get_content, NULL)
PHP_FE(domxml_new_xmldoc, NULL)
- PHP_FALIAS(domxml_new_doc, domxml_new_xmldoc, NULL)
+ PHP_FALIAS(domxml_new_doc, domxml_new_xmldoc, NULL)
PHP_FE(domxml_parser, NULL)
PHP_FE(domxml_parser_add_chunk, NULL)
PHP_FE(domxml_parser_end, NULL)
@@ -270,6 +268,7 @@
static function_entry php_domxmldoc_class_functions[] = {
+ PHP_FALIAS(domdocument, xmldoc, NULL)
PHP_FALIAS(doctype, domxml_doc_doctype, NULL)
PHP_FALIAS(implementation, domxml_doc_implementation, NULL)
PHP_FALIAS(document_element, domxml_doc_document_element, NULL)
@@ -295,7 +294,7 @@
PHP_FALIAS(dumpmem, domxml_dump_mem, NULL)
PHP_FALIAS(dump_mem, domxml_dump_mem, NULL)
PHP_FALIAS(dump_mem_file, domxml_dump_mem_file, NULL)
- PHP_FALIAS(dump_file, domxml_dump_mem_file, NULL)
+ PHP_FALIAS(dump_file, domxml_dump_mem_file, NULL)
#if defined(LIBXML_HTML_ENABLED)
PHP_FALIAS(html_dump_mem, domxml_html_dump_mem, NULL)
#endif
@@ -371,7 +370,7 @@
};
static zend_function_entry php_domxmlelement_class_functions[] = {
- PHP_FALIAS(domelement, domxml_element, NULL)
+ PHP_FALIAS(domelement, domxml_doc_create_element, NULL)
PHP_FALIAS(name, domxml_elem_tagname, NULL)
PHP_FALIAS(tagname, domxml_elem_tagname, NULL)
PHP_FALIAS(get_attribute, domxml_elem_get_attribute, NULL)
@@ -385,15 +384,18 @@
};
static zend_function_entry php_domxmlcdata_class_functions[] = {
+ PHP_FALIAS(domcdata, domxml_doc_create_cdata_section,NULL)
PHP_FALIAS(length, domxml_cdata_length, NULL)
{NULL, NULL, NULL}
};
static zend_function_entry php_domxmltext_class_functions[] = {
+ PHP_FALIAS(domtext, domxml_doc_create_text_node, NULL)
{NULL, NULL, NULL}
};
static zend_function_entry php_domxmlcomment_class_functions[] = {
+ PHP_FALIAS(domcomment, domxml_doc_create_comment, NULL)
{NULL, NULL, NULL}
};
@@ -404,6 +406,7 @@
};
static zend_function_entry php_domxmlentityref_class_functions[] = {
+ PHP_FALIAS(domentityreference, domxml_doc_create_entity_reference, NULL)
{NULL, NULL, NULL}
};
@@ -417,6 +420,7 @@
};
static zend_function_entry php_domxmlpi_class_functions[] = {
+ PHP_FALIAS(domprocessinginstruction, domxml_doc_create_processing_instruction, \
NULL) PHP_FALIAS(target, domxml_pi_target, NULL)
PHP_FALIAS(data, domxml_pi_data, NULL)
{NULL, NULL, NULL}
@@ -436,6 +440,7 @@
#endif
static zend_function_entry php_domxmlattr_class_functions[] = {
+ PHP_FALIAS(domattribute, domxml_doc_create_attribute, NULL)
PHP_FALIAS(name, domxml_attr_name, NULL)
PHP_FALIAS(value, domxml_attr_value, NULL)
PHP_FALIAS(specified, domxml_attr_specified, NULL)
@@ -588,12 +593,12 @@
{
xmlNodePtr node = (xmlNodePtr) rsrc->ptr;
- /* if node has no parent, it will not be freed by php_free_xml_doc, so do it here
+ /* if node has no parent, it will not be freed by php_free_xml_doc, so do it here
and for all children as well. */
if (node->parent == NULL) {
attr_list_wrapper_dtor(node->properties);
node_list_wrapper_dtor(node->children);
- node_wrapper_dtor(node);
+ node_wrapper_dtor(node);
xmlFreeNode(node);
} else {
node_wrapper_dtor(node);
@@ -635,7 +640,7 @@
if (parser) {
zval *wrapper = dom_object_get_data(parser);
- zval_ptr_dtor(&wrapper);
+ zval_ptr_dtor(&wrapper);
xmlFreeParserCtxt(parser);
}
}
@@ -1036,7 +1041,7 @@
}
-static zval *php_domobject_new(xmlNodePtr obj, int *found TSRMLS_DC)
+PHPAPI zval *php_domobject_new(xmlNodePtr obj, int *found, zval *wrapper_in \
TSRMLS_DC) {
zval *wrapper;
char *content;
@@ -1045,7 +1050,12 @@
*found = 0;
if (!obj) {
- MAKE_STD_ZVAL(wrapper);
+ if(!wrapper_in)
+ {
+ MAKE_STD_ZVAL(wrapper);
+ }
+ else
+ wrapper = wrapper_in;
ZVAL_NULL(wrapper);
return wrapper;
}
@@ -1056,14 +1066,20 @@
return wrapper;
}
- MAKE_STD_ZVAL(wrapper);
+ if(!wrapper_in)
+ {
+ MAKE_STD_ZVAL(wrapper);
+ }
+ else
+ wrapper = wrapper_in;
switch (Z_TYPE_P(obj)) {
case XML_ELEMENT_NODE:
{
xmlNodePtr nodep = obj;
- object_init_ex(wrapper, domxmlelement_class_entry);
+ if(!wrapper_in)
+ object_init_ex(wrapper, domxmlelement_class_entry);
rsrc_type = le_domxmlelementp;
add_property_long(wrapper, "type", Z_TYPE_P(nodep));
add_property_stringl(wrapper, "tagname", (char *) nodep->name, \
strlen(nodep->name), 1); @@ -1073,7 +1089,8 @@
case XML_TEXT_NODE:
{
xmlNodePtr nodep = obj;
- object_init_ex(wrapper, domxmltext_class_entry);
+ if(!wrapper_in)
+ object_init_ex(wrapper, domxmltext_class_entry);
rsrc_type = le_domxmltextp;
content = xmlNodeGetContent(nodep);
add_property_long(wrapper, "type", Z_TYPE_P(nodep));
@@ -1087,7 +1104,8 @@
case XML_COMMENT_NODE:
{
xmlNodePtr nodep = obj;
- object_init_ex(wrapper, domxmlcomment_class_entry);
+ if(!wrapper_in)
+ object_init_ex(wrapper, domxmlcomment_class_entry);
rsrc_type = le_domxmlcommentp;
content = xmlNodeGetContent(nodep);
if (content) {
@@ -1102,7 +1120,8 @@
case XML_PI_NODE:
{
xmlNodePtr nodep = obj;
- object_init_ex(wrapper, domxmlpi_class_entry);
+ if(!wrapper_in)
+ object_init_ex(wrapper, domxmlpi_class_entry);
rsrc_type = le_domxmlpip;
content = xmlNodeGetContent(nodep);
add_property_stringl(wrapper, "name", (char *) nodep->name, strlen(nodep->name), \
1); @@ -1116,7 +1135,8 @@
case XML_ENTITY_REF_NODE:
{
xmlNodePtr nodep = obj;
- object_init_ex(wrapper, domxmlentityref_class_entry);
+ if(!wrapper_in)
+ object_init_ex(wrapper, domxmlentityref_class_entry);
rsrc_type = le_domxmlentityrefp;
add_property_stringl(wrapper, "name", (char *) nodep->name, strlen(nodep->name), \
1); break;
@@ -1126,7 +1146,8 @@
case XML_ELEMENT_DECL:
{
xmlNodePtr nodep = obj;
- object_init_ex(wrapper, domxmlnode_class_entry);
+ if(!wrapper_in)
+ object_init_ex(wrapper, domxmlnode_class_entry);
rsrc_type = le_domxmlnodep;
add_property_long(wrapper, "type", Z_TYPE_P(nodep));
add_property_stringl(wrapper, "name", (char *) nodep->name, strlen(nodep->name), \
1); @@ -1143,7 +1164,8 @@
case XML_ATTRIBUTE_NODE:
{
xmlAttrPtr attrp = (xmlAttrPtr) obj;
- object_init_ex(wrapper, domxmlattr_class_entry);
+ if(!wrapper_in)
+ object_init_ex(wrapper, domxmlattr_class_entry);
rsrc_type = le_domxmlattrp;
add_property_long(wrapper, "type", Z_TYPE_P(attrp));
add_property_stringl(wrapper, "name", (char *) attrp->name, strlen(attrp->name), \
1); @@ -1160,7 +1182,8 @@
{
xmlDocPtr docp = (xmlDocPtr) obj;
- object_init_ex(wrapper, domxmldoc_class_entry);
+ if(!wrapper_in)
+ object_init_ex(wrapper, domxmldoc_class_entry);
rsrc_type = le_domxmldocp;
if (docp->name)
add_property_stringl(wrapper, "name", (char *) docp->name, strlen(docp->name), \
1); @@ -1199,7 +1222,8 @@
case XML_DOCUMENT_TYPE_NODE:
{
xmlDtdPtr dtd = (xmlDtdPtr) obj;
- object_init_ex(wrapper, domxmldoctype_class_entry);
+ if(!wrapper_in)
+ object_init_ex(wrapper, domxmldoctype_class_entry);
/* rsrc_type = le_domxmldtdp; */
rsrc_type = le_domxmldoctypep;
/* add_property_long(wrapper, "type", Z_TYPE_P(dtd)); */
@@ -1220,7 +1244,8 @@
case XML_CDATA_SECTION_NODE:
{
xmlNodePtr nodep = obj;
- object_init_ex(wrapper, domxmlcdata_class_entry);
+ if(!wrapper_in)
+ object_init_ex(wrapper, domxmlcdata_class_entry);
rsrc_type = le_domxmlcdatap;
content = xmlNodeGetContent(nodep);
add_property_long(wrapper, "type", Z_TYPE_P(nodep));
@@ -1292,49 +1317,49 @@
le_domxsltstylesheetp = zend_register_list_destructors_ex(php_free_xslt_stylesheet, \
NULL, "xsltstylesheet", module_number); #endif
- INIT_OVERLOADED_CLASS_ENTRY(ce, "DomNode", php_domxmlnode_class_functions, NULL, \
NULL, NULL); + INIT_OVERLOADED_CLASS_ENTRY(ce, "domnode", \
php_domxmlnode_class_functions, NULL, NULL, NULL); domxmlnode_class_entry = \
zend_register_internal_class_ex(&ce, NULL, NULL TSRMLS_CC);
- INIT_OVERLOADED_CLASS_ENTRY(ce, "DomDocument", php_domxmldoc_class_functions, NULL, \
NULL, NULL); + INIT_OVERLOADED_CLASS_ENTRY(ce, "domdocument", \
php_domxmldoc_class_functions, NULL, NULL, NULL); domxmldoc_class_entry = \
zend_register_internal_class_ex(&ce, domxmlnode_class_entry, NULL TSRMLS_CC);
- INIT_OVERLOADED_CLASS_ENTRY(ce, "DomParser", php_domxmlparser_class_functions, \
NULL, NULL, NULL); + INIT_OVERLOADED_CLASS_ENTRY(ce, "domparser", \
php_domxmlparser_class_functions, NULL, NULL, NULL); domxmlparser_class_entry = \
zend_register_internal_class_ex(&ce, NULL, NULL TSRMLS_CC);
- INIT_OVERLOADED_CLASS_ENTRY(ce, "DomDocumentType", \
php_domxmldoctype_class_functions, NULL, NULL, NULL); \
+ INIT_OVERLOADED_CLASS_ENTRY(ce, "domdocumenttype", \
php_domxmldoctype_class_functions, NULL, NULL, NULL); domxmldoctype_class_entry = \
zend_register_internal_class_ex(&ce, domxmlnode_class_entry, NULL TSRMLS_CC);
- INIT_OVERLOADED_CLASS_ENTRY(ce, "Dtd", php_domxmldtd_class_functions, NULL, NULL, \
NULL); + INIT_OVERLOADED_CLASS_ENTRY(ce, "dtd", php_domxmldtd_class_functions, NULL, \
NULL, NULL); domxmldtd_class_entry = zend_register_internal_class_ex(&ce, \
domxmlnode_class_entry, NULL TSRMLS_CC);
- INIT_OVERLOADED_CLASS_ENTRY(ce, "DomElement", php_domxmlelement_class_functions, \
NULL, NULL, NULL); + INIT_OVERLOADED_CLASS_ENTRY(ce, "domelement", \
php_domxmlelement_class_functions, NULL, NULL, NULL); domxmlelement_class_entry = \
zend_register_internal_class_ex(&ce, domxmlnode_class_entry, NULL TSRMLS_CC);
- INIT_OVERLOADED_CLASS_ENTRY(ce, "DomAttribute", php_domxmlattr_class_functions, \
NULL, NULL, NULL); + INIT_OVERLOADED_CLASS_ENTRY(ce, "domattribute", \
php_domxmlattr_class_functions, NULL, NULL, NULL); domxmlattr_class_entry = \
zend_register_internal_class_ex(&ce, domxmlnode_class_entry, NULL TSRMLS_CC);
- INIT_OVERLOADED_CLASS_ENTRY(ce, "DomCData", php_domxmlcdata_class_functions, NULL, \
NULL, NULL); + INIT_OVERLOADED_CLASS_ENTRY(ce, "domcdata", \
php_domxmlcdata_class_functions, NULL, NULL, NULL); domxmlcdata_class_entry = \
zend_register_internal_class_ex(&ce, domxmlnode_class_entry, NULL TSRMLS_CC);
- INIT_OVERLOADED_CLASS_ENTRY(ce, "DomText", php_domxmltext_class_functions, NULL, \
NULL, NULL); + INIT_OVERLOADED_CLASS_ENTRY(ce, "domtext", \
php_domxmltext_class_functions, NULL, NULL, NULL); domxmltext_class_entry = \
zend_register_internal_class_ex(&ce, domxmlcdata_class_entry, NULL TSRMLS_CC);
- INIT_OVERLOADED_CLASS_ENTRY(ce, "DomComment", php_domxmlcomment_class_functions, \
NULL, NULL, NULL); + INIT_OVERLOADED_CLASS_ENTRY(ce, "domcomment", \
php_domxmlcomment_class_functions, NULL, NULL, NULL); domxmlcomment_class_entry = \
zend_register_internal_class_ex(&ce, domxmlcdata_class_entry, NULL TSRMLS_CC);
- INIT_OVERLOADED_CLASS_ENTRY(ce, "DomProcessingInstruction", \
php_domxmlpi_class_functions, NULL, NULL, NULL); + INIT_OVERLOADED_CLASS_ENTRY(ce, \
"domprocessinginstruction", php_domxmlpi_class_functions, NULL, NULL, NULL); \
domxmlpi_class_entry = zend_register_internal_class_ex(&ce, domxmlnode_class_entry, \
NULL TSRMLS_CC);
- INIT_OVERLOADED_CLASS_ENTRY(ce, "DomNotation", php_domxmlnotation_class_functions, \
NULL, NULL, NULL); + INIT_OVERLOADED_CLASS_ENTRY(ce, "domnotation", \
php_domxmlnotation_class_functions, NULL, NULL, NULL); domxmlnotation_class_entry = \
zend_register_internal_class_ex(&ce, domxmlnode_class_entry, NULL TSRMLS_CC);
- INIT_OVERLOADED_CLASS_ENTRY(ce, "DomEntity", php_domxmlentity_class_functions, \
NULL, NULL, NULL); + INIT_OVERLOADED_CLASS_ENTRY(ce, "domentity", \
php_domxmlentity_class_functions, NULL, NULL, NULL); domxmlentity_class_entry = \
zend_register_internal_class_ex(&ce, domxmlnode_class_entry, NULL TSRMLS_CC);
- INIT_OVERLOADED_CLASS_ENTRY(ce, "DomEntityReference", \
php_domxmlentityref_class_functions, NULL, NULL, NULL); \
+ INIT_OVERLOADED_CLASS_ENTRY(ce, "domentityreference", \
php_domxmlentityref_class_functions, NULL, NULL, NULL); domxmlentityref_class_entry \
= zend_register_internal_class_ex(&ce, domxmlnode_class_entry, NULL TSRMLS_CC);
- INIT_OVERLOADED_CLASS_ENTRY(ce, "DomNamespace", php_domxmlns_class_functions, NULL, \
NULL, NULL); + INIT_OVERLOADED_CLASS_ENTRY(ce, "domnamespace", \
php_domxmlns_class_functions, NULL, NULL, NULL); domxmlns_class_entry = \
zend_register_internal_class_ex(&ce, NULL, NULL TSRMLS_CC);
#if defined(LIBXML_XPATH_ENABLED)
@@ -1433,7 +1458,7 @@
/* don't know why that line was commented out in the previous version, so i left it \
(cmv) */ php_info_print_table_start();
php_info_print_table_row(2, "DOM/XML", "enabled");
- php_info_print_table_row(2, "DOM/XML API Version", DOMXML_API_VERSION);
+ php_info_print_table_row(2, "DOM/XML API Version", DOMXML_API_VERSION);
php_info_print_table_row(2, "libxml Version", LIBXML_DOTTED_VERSION);
#if defined(LIBXML_HTML_ENABLED)
php_info_print_table_row(2, "HTML Support", "enabled");
@@ -1459,8 +1484,8 @@
/* {{{ Methods of Class DomAttribute */
/* {{{ proto array domxml_attr_name(void)
- Returns list of attribute names
- Notice: domxml_node_name() does exactly the same for attribute-nodes,
+ Returns list of attribute names
+ Notice: domxml_node_name() does exactly the same for attribute-nodes,
is this function here still needed, or would an alias be enough?
*/
PHP_FUNCTION(domxml_attr_name)
@@ -1572,7 +1597,7 @@
Creates node */
PHP_FUNCTION(domxml_node)
{
- zval *rv;
+ zval *rv = NULL;
xmlNode *node;
int ret, name_len;
char *name;
@@ -1586,7 +1611,11 @@
RETURN_FALSE;
}
- DOMXML_RET_OBJ(rv, node, &ret);
+ if(DOMXML_IS_TYPE(getThis(), domxmlnode_class_entry)) {
+ DOMXML_DOMOBJ_NEW(getThis(), node, &ret);
+ } else {
+ DOMXML_RET_OBJ(rv, node, &ret);
+ }
}
/* }}} */
@@ -1725,7 +1754,7 @@
Clones a node */
PHP_FUNCTION(domxml_clone_node)
{
- zval *rv;
+ zval *rv = NULL;
zval *id;
xmlNode *n, *node;
int ret, recursive = 0;;
@@ -1749,7 +1778,7 @@
Returns first child from list of children */
PHP_FUNCTION(domxml_node_first_child)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlNode *nodep, *first;
int ret;
@@ -1770,7 +1799,7 @@
Returns last child from list of children */
PHP_FUNCTION(domxml_node_last_child)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlNode *nodep, *last;
int ret;
@@ -1791,7 +1820,7 @@
Returns next child from list of children */
PHP_FUNCTION(domxml_node_next_sibling)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlNode *nodep, *first;
int ret;
@@ -1812,7 +1841,7 @@
Returns previous child from list of children */
PHP_FUNCTION(domxml_node_previous_sibling)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlNode *nodep, *first;
int ret;
@@ -1833,7 +1862,7 @@
Returns document this node belongs to */
PHP_FUNCTION(domxml_node_owner_document)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlNode *nodep;
xmlDocPtr docp;
int ret;
@@ -1921,7 +1950,7 @@
Returns parent of node */
PHP_FUNCTION(domxml_node_parent)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlNode *nodep, *last;
int ret;
@@ -1965,7 +1994,7 @@
while (last) {
zval *child;
- child = php_domobject_new(last, &ret TSRMLS_CC);
+ child = php_domobject_new(last, &ret, NULL TSRMLS_CC);
add_next_index_zval(return_value, child);
last = last->next;
}
@@ -1982,7 +2011,7 @@
DOMXML_PARAM_NONE(nodep, id, le_domxmlnodep);
xmlUnlinkNode(nodep);
- /* This causes a Segmentation Fault for some reason. Removing
+ /* This causes a Segmentation Fault for some reason. Removing
it allows the user to re-add the node at some other time, in
addition to fixing the segfault. Node will be freed at
shutdown. */
@@ -1991,12 +2020,11 @@
}
/* }}} */
-
/* {{{ proto object domxml_node_replace_node(object domnode)
Replaces one node with another node */
PHP_FUNCTION(domxml_node_replace_node)
{
- zval *id, *rv, *node;
+ zval *id, *rv = NULL, *node;
xmlNodePtr repnode, nodep, new_repnode;
int ret;
@@ -2032,7 +2060,7 @@
Adds node to list of children */
PHP_FUNCTION(domxml_node_append_child)
{
- zval *id, *rv, *node;
+ zval *id, *rv = NULL, *node;
xmlNodePtr child, nodep, new_child;
int ret;
@@ -2074,7 +2102,7 @@
Adds node to list of siblings */
PHP_FUNCTION(domxml_node_append_sibling)
{
- zval *id, *rv, *node;
+ zval *id, *rv = NULL, *node;
xmlNodePtr child, nodep, new_child;
int ret;
@@ -2112,7 +2140,7 @@
Adds node in list of nodes before given node */
PHP_FUNCTION(domxml_node_insert_before)
{
- zval *id, *rv, *node, *ref;
+ zval *id, *rv = NULL, *node, *ref;
xmlNodePtr child, new_child, nodep, refp;
int ret;
@@ -2164,7 +2192,7 @@
while (children) {
if (children == child) {
- zval *rv;
+ zval *rv = NULL;
xmlUnlinkNode(child);
DOMXML_RET_OBJ(rv, child, &ret);
return;
@@ -2212,7 +2240,7 @@
* a child, then do the replacement
*/
if(foundoldchild && !foundnewchild) {
- zval *rv;
+ zval *rv = NULL;
xmlNodePtr node;
node = xmlReplaceNode(oldchild, newchild);
DOMXML_RET_OBJ(rv, oldchild, &ret);
@@ -2223,7 +2251,7 @@
* the new node are identical.
*/
if(foundnewchild) {
- zval *rv;
+ zval *rv = NULL;
DOMXML_RET_OBJ(rv, newchild, &ret);
return;
} else {
@@ -2293,7 +2321,7 @@
Adds child node to parent node */
PHP_FUNCTION(domxml_node_new_child)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlNodePtr child, nodep;
int ret, name_len, content_len;
char *name, *content = NULL;
@@ -2334,14 +2362,14 @@
/* FIXME: Actually the property 'content' of the node has to be updated
as well. Since 'content' should disappear sooner or later and being
replaces by a function 'content()' I skip this for now
- */
+ */
RETURN_TRUE;
}
/* }}} */
/* {{{ proto string domxml_node_get_content()
Gets content of a node.
-
+
"Read the value of a node, 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."
@@ -2357,7 +2385,7 @@
if (!mem) {
RETURN_FALSE;
}
-
+
RETVAL_STRING(mem,1);
xmlFree(mem);
}
@@ -2416,7 +2444,7 @@
Constructor of DomElement */
PHP_FUNCTION(domxml_element)
{
- zval *rv;
+ zval *rv = NULL;
xmlNode *node;
int ret, name_len;
char *name;
@@ -2477,7 +2505,7 @@
Sets value of given attribute */
PHP_FUNCTION(domxml_elem_set_attribute)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlNode *nodep;
xmlAttr *attr;
int ret, name_len, value_len;
@@ -2504,7 +2532,7 @@
xmlAttr *attrp;
int name_len;
char *name;
-
+
DOMXML_PARAM_TWO(nodep, id, le_domxmlelementp, "s", &name, &name_len);
attrp = xmlHasProp(nodep,name);
if (attrp == NULL) {
@@ -2519,7 +2547,7 @@
Returns value of given attribute */
PHP_FUNCTION(domxml_elem_get_attribute_node)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlNode *nodep;
xmlAttr *attrp;
int name_len, ret;
@@ -2538,7 +2566,7 @@
Sets value of given attribute */
PHP_FUNCTION(domxml_elem_set_attribute_node)
{
- zval *id, *arg1, *rv;
+ zval *id, *arg1, *rv = NULL;
xmlNode *nodep;
xmlAttr *attrp, *newattrp;
int ret;
@@ -2601,7 +2629,7 @@
contextnodep = NULL;
DOMXML_PARAM_FOUR(docp, id, le_domxmldocp, "s|oo", &name, \
&name_len,&ctxpin,&contextnodep);
-
+
/* if no xpath_context was submitted, create a new one */
if (ctxpin == NULL) {
ctxp = xmlXPathNewContext(docp);
@@ -2651,7 +2679,7 @@
int retnode;
/* construct a node object */
- child = php_domobject_new(node, &retnode TSRMLS_CC);
+ child = php_domobject_new(node, &retnode, NULL TSRMLS_CC);
zend_hash_next_index_insert(Z_ARRVAL_P(rv), &child, sizeof(zval *), NULL);
}
@@ -2694,10 +2722,10 @@
ids = (xmlHashTable *) docp->ids;
if(ids) {
- iter.elementId = (xmlChar *)
+ iter.elementId = (xmlChar *)
iter.element = NULL;
- xmlHashScan(ids, idsHashScanner, &iter);
- rv = php_domobject_new(iter.element, &retnode TSRMLS_CC);
+ xmlHashScan(ids, (void *)idsHashScanner, &iter);
+ rv = php_domobject_new(iter.element, &retnode, NULL TSRMLS_CC);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
FREE_ZVAL(rv);
@@ -2721,7 +2749,7 @@
DOMXML_PARAM_TWO(nodep, id, le_domxmlelementp, "s", &name, &name_len);
MAKE_STD_ZVAL(rv);
-
+
if(array_init(rv) != SUCCESS) {
php_error(E_WARNING, "%s(): cannot create required array", \
get_active_function_name(TSRMLS_C)); RETURN_FALSE;
@@ -2735,7 +2763,7 @@
zval *child;
int retnode;
- child = php_domobject_new(node, &retnode TSRMLS_CC);
+ child = php_domobject_new(node, &retnode, NULL TSRMLS_CC);
zend_hash_next_index_insert(Z_ARRVAL_P(rv), &child, sizeof(zval *), NULL);
}
}
@@ -2827,7 +2855,7 @@
while (last) {
zval *child;
- child = php_domobject_new(last, &ret TSRMLS_CC);
+ child = php_domobject_new(last, &ret, NULL TSRMLS_CC);
add_next_index_zval(return_value, child);
last = last->next;
}
@@ -2858,7 +2886,7 @@
while (last) {
zval *child;
- child = php_domobject_new(last, &ret TSRMLS_CC);
+ child = php_domobject_new(last, &ret, NULL TSRMLS_CC);
add_next_index_zval(return_value, child);
last = last->next;
}
@@ -2874,7 +2902,7 @@
Returns DomDocumentType */
PHP_FUNCTION(domxml_doc_doctype)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlDtdPtr dtd;
xmlDocPtr docp;
int ret;
@@ -2935,13 +2963,15 @@
Creates new element node */
PHP_FUNCTION(domxml_doc_create_element)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlNode *node;
- xmlDocPtr docp;
+ xmlDocPtr docp = NULL;
int ret, name_len;
char *name;
- DOMXML_GET_THIS_OBJ(docp, id, le_domxmldocp);
+ if(!DOMXML_IS_TYPE(getThis(), domxmlelement_class_entry)) {
+ DOMXML_GET_THIS_OBJ(docp, id, le_domxmldocp);
+ }
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) == \
FAILURE) { return;
@@ -2953,7 +2983,11 @@
}
node->doc = docp;
- DOMXML_RET_OBJ(rv, node, &ret);
+ if(DOMXML_IS_TYPE(getThis(), domxmlelement_class_entry)) {
+ DOMXML_DOMOBJ_NEW(getThis(), node, &ret);
+ } else {
+ DOMXML_RET_OBJ(rv, node, &ret);
+ }
}
/* }}} */
@@ -2961,13 +2995,15 @@
Creates new text node */
PHP_FUNCTION(domxml_doc_create_text_node)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlNode *node;
- xmlDocPtr docp;
+ xmlDocPtr docp = NULL;
int ret, content_len;
char *content;
- DOMXML_GET_THIS_OBJ(docp, id, le_domxmldocp);
+ if(!DOMXML_IS_TYPE(getThis(), domxmltext_class_entry)) {
+ DOMXML_GET_THIS_OBJ(docp, id, le_domxmldocp);
+ }
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &content, &content_len) \
== FAILURE) { return;
@@ -2979,7 +3015,11 @@
}
node->doc = docp;
- DOMXML_RET_OBJ(rv, node, &ret);
+ if(DOMXML_IS_TYPE(getThis(), domxmltext_class_entry)) {
+ DOMXML_DOMOBJ_NEW(getThis(), node, &ret);
+ } else {
+ DOMXML_RET_OBJ(rv, node, &ret);
+ }
}
/* }}} */
@@ -2987,13 +3027,15 @@
Creates new comment node */
PHP_FUNCTION(domxml_doc_create_comment)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlNode *node;
- xmlDocPtr docp;
+ xmlDocPtr docp = NULL;
int ret, content_len;
char *content;
- DOMXML_GET_THIS_OBJ(docp, id, le_domxmldocp);
+ if(!DOMXML_IS_TYPE(getThis(), domxmlcomment_class_entry)) {
+ DOMXML_GET_THIS_OBJ(docp, id, le_domxmldocp);
+ }
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &content, &content_len) \
== FAILURE) { return;
@@ -3005,7 +3047,11 @@
}
node->doc = docp;
- DOMXML_RET_OBJ(rv, node, &ret);
+ if(DOMXML_IS_TYPE(getThis(), domxmlcomment_class_entry)) {
+ DOMXML_DOMOBJ_NEW(getThis(), node, &ret);
+ } else {
+ DOMXML_RET_OBJ(rv, node, &ret);
+ }
}
/* }}} */
@@ -3013,13 +3059,15 @@
Creates new attribute node */
PHP_FUNCTION(domxml_doc_create_attribute)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlAttrPtr node;
- xmlDocPtr docp;
+ xmlDocPtr docp = NULL;
int ret, name_len, value_len;
char *name, *value;
- DOMXML_GET_THIS_OBJ(docp, id, le_domxmldocp);
+ if(!DOMXML_IS_TYPE(getThis(), domxmlattr_class_entry)) {
+ DOMXML_GET_THIS_OBJ(docp, id, le_domxmldocp);
+ }
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &name, &name_len, \
&value, &value_len) == FAILURE) { return;
@@ -3031,7 +3079,11 @@
}
node->doc = docp;
- DOMXML_RET_OBJ(rv, (xmlNodePtr) node, &ret);
+ if(DOMXML_IS_TYPE(getThis(), domxmlattr_class_entry)) {
+ DOMXML_DOMOBJ_NEW(getThis(), (xmlNodePtr) node, &ret);
+ } else {
+ DOMXML_RET_OBJ(rv, (xmlNodePtr) node, &ret);
+ }
}
/* }}} */
@@ -3039,13 +3091,15 @@
Creates new cdata node */
PHP_FUNCTION(domxml_doc_create_cdata_section)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlNode *node;
- xmlDocPtr docp;
+ xmlDocPtr docp = NULL;
int ret, content_len;
char *content;
- DOMXML_GET_THIS_OBJ(docp, id, le_domxmldocp);
+ if(!DOMXML_IS_TYPE(getThis(), domxmlcdata_class_entry)) {
+ DOMXML_GET_THIS_OBJ(docp, id, le_domxmldocp);
+ }
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &content, &content_len) \
== FAILURE) { return;
@@ -3057,7 +3111,11 @@
}
node->doc = docp;
- DOMXML_RET_OBJ(rv, node, &ret);
+ if(DOMXML_IS_TYPE(getThis(), domxmlcdata_class_entry)) {
+ DOMXML_DOMOBJ_NEW(getThis(), node, &ret);
+ } else {
+ DOMXML_RET_OBJ(rv, node, &ret);
+ }
}
/* }}} */
@@ -3065,13 +3123,15 @@
Creates new cdata node */
PHP_FUNCTION(domxml_doc_create_entity_reference)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlNode *node;
- xmlDocPtr docp;
+ xmlDocPtr docp = NULL;
int ret, name_len;
char *name;
- DOMXML_GET_THIS_OBJ(docp, id, le_domxmldocp);
+ if(!DOMXML_IS_TYPE(getThis(), domxmlentityref_class_entry)) {
+ DOMXML_GET_THIS_OBJ(docp, id, le_domxmldocp);
+ }
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) == \
FAILURE) { return;
@@ -3082,7 +3142,11 @@
}
node->doc = docp;
- DOMXML_RET_OBJ(rv, node, &ret);
+ if(DOMXML_IS_TYPE(getThis(), domxmlentityref_class_entry)) {
+ DOMXML_DOMOBJ_NEW(getThis(), node, &ret);
+ } else {
+ DOMXML_RET_OBJ(rv, node, &ret);
+ }
}
/* }}} */
@@ -3090,13 +3154,15 @@
Creates new processing_instruction node */
PHP_FUNCTION(domxml_doc_create_processing_instruction)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlNode *node;
- xmlDocPtr docp;
+ xmlDocPtr docp = NULL;
int ret, name_len, content_len;
char *name, *content;
- DOMXML_GET_THIS_OBJ(docp, id, le_domxmldocp);
+ if(!DOMXML_IS_TYPE(getThis(), domxmlpi_class_entry)) {
+ DOMXML_GET_THIS_OBJ(docp, id, le_domxmldocp);
+ }
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &name, &name_len, \
&content, &content_len) == FAILURE) { return;
@@ -3108,7 +3174,11 @@
}
node->doc = docp;
- DOMXML_RET_OBJ(rv, node, &ret);
+ if(DOMXML_IS_TYPE(getThis(), domxmlpi_class_entry)) {
+ DOMXML_DOMOBJ_NEW(getThis(), node, &ret);
+ } else {
+ DOMXML_RET_OBJ(rv, node, &ret);
+ }
}
/* }}} */
@@ -3116,7 +3186,7 @@
Creates new element node */
PHP_FUNCTION(domxml_doc_imported_node)
{
- zval *arg1, *id, *rv;
+ zval *arg1, *id, *rv = NULL;
xmlNodePtr node, srcnode;
xmlDocPtr docp;
int ret, recursive = 0;
@@ -3144,7 +3214,7 @@
Returns DTD of document */
PHP_FUNCTION(domxml_intdtd)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlDoc *docp;
xmlDtd *dtd;
int ret;
@@ -3171,7 +3241,7 @@
int size;
int encoding_len = 0;
char *encoding;
-
+
DOMXML_PARAM_THREE(docp, id, le_domxmldocp, "|ls", &format, &encoding, \
&encoding_len); if (format) {
@@ -3180,7 +3250,7 @@
xmlDocDumpFormatMemoryEnc(docp, &mem, &size, encoding, format);
} else {
xmlDocDumpFormatMemory(docp, &mem, &size, format);
- }
+ }
} else {
if (encoding_len) {
xmlDocDumpMemoryEnc(docp, &mem, &size, encoding);
@@ -3237,22 +3307,22 @@
xmlBufferPtr buf;
int level = 0;
int format = 0;
-
+
DOMXML_PARAM_THREE(docp, id, le_domxmldocp, "o|ll", &nodep, &format, &level);
-
+
DOMXML_GET_OBJ(elementp, nodep, le_domxmlnodep);
if (Z_TYPE_P(elementp) == XML_DOCUMENT_NODE || Z_TYPE_P(elementp) == \
XML_HTML_DOCUMENT_NODE ) { php_error(E_WARNING, "%s(): cannot dump element with a \
document node", get_active_function_name(TSRMLS_C)); RETURN_FALSE;
}
-
+
buf = xmlBufferCreate();
if (!buf) {
php_error(E_WARNING, "%s(): could fetch buffer", \
get_active_function_name(TSRMLS_C)); RETURN_FALSE;
}
-
+
xmlNodeDump(buf, docp, elementp, level, format);
mem = (xmlChar*) xmlBufferContent(buf);
@@ -3262,6 +3332,7 @@
RETURN_FALSE;
}
RETVAL_STRING(mem, 1);
+
xmlBufferFree(buf);
}
@@ -3275,9 +3346,9 @@
xmlNode *nodep;
TSRMLS_FETCH();
-
+
nodep = ((xmlNode *)((xmlID *)payload)->attr)->parent;
- child = php_domobject_new(nodep, &ret TSRMLS_CC);
+ child = php_domobject_new(nodep, &ret, NULL TSRMLS_CC);
add_next_index_zval(return_value, child);
}
@@ -3298,7 +3369,7 @@
RETURN_FALSE;
}
- xmlHashScan(ids, idsHashScanner2, return_value);
+ xmlHashScan(ids, (void *)idsHashScanner2, return_value);
} else {
RETURN_FALSE;
}
@@ -3309,7 +3380,7 @@
Creates DOM object of XML document */
PHP_FUNCTION(xmldoc)
{
- zval *rv;
+ zval *rv = NULL;
xmlDoc *docp;
int ret;
char *buffer;
@@ -3358,7 +3429,12 @@
xmlParseDTD(dtd->ExternalID, dtd->SystemID);
}
*/
- DOMXML_RET_OBJ(rv, (xmlNodePtr) docp, &ret);
+
+ if(DOMXML_IS_TYPE(getThis(), domxmldoc_class_entry)) {
+ DOMXML_DOMOBJ_NEW(getThis(), (xmlNodePtr) docp, &ret);
+ } else {
+ DOMXML_RET_OBJ(rv, (xmlNodePtr) docp, &ret);
+ }
}
/* }}} */
@@ -3366,7 +3442,7 @@
Creates DOM object of XML document in file */
PHP_FUNCTION(xmldocfile)
{
- zval *rv;
+ zval *rv = NULL;
xmlDoc *docp;
int ret, file_len;
char *file;
@@ -3382,7 +3458,7 @@
DOMXML_RET_OBJ(rv, (xmlNodePtr) docp, &ret);
- add_property_resource(return_value, "doc", ret);
+/* add_property_resource(return_value, "doc", ret);
if (docp->name)
add_property_stringl(return_value, "name", (char *) docp->name, \
strlen(docp->name), 1); if (docp->URL)
@@ -3394,7 +3470,7 @@
add_property_long(return_value, "type", Z_TYPE_P(docp));
add_property_long(return_value, "compression", docp->compression);
add_property_long(return_value, "charset", docp->charset);
- zend_list_addref(ret);
+ zend_list_addref(ret);*/
}
/* }}} */
@@ -3425,7 +3501,7 @@
Creates DOM object of HTML document */
PHP_FUNCTION(html_doc)
{
- zval *rv;
+ zval *rv = NULL;
xmlDoc *docp;
int ret;
char *buffer;
@@ -3452,7 +3528,7 @@
Creates DOM object of HTML document in file */
PHP_FUNCTION(html_doc_file)
{
- zval *rv;
+ zval *rv = NULL;
xmlDoc *docp;
int ret, file_len;
char *file;
@@ -3523,11 +3599,11 @@
}
/* }}} */
-/* {{{ proto object domxml_doc_add_root(string name)
+/* {{{ proto object domxml_add_root(string name)
Adds root node to document */
PHP_FUNCTION(domxml_doc_add_root)
{
- zval *id, *rv;
+ zval *id, *rv = NULL;
xmlDoc *docp;
xmlNode *nodep;
int ret, name_len;
@@ -3571,7 +3647,7 @@
Creates new xmldoc */
PHP_FUNCTION(domxml_new_xmldoc)
{
- zval *rv;
+ zval *rv = NULL;
xmlDoc *docp;
int ret, buf_len;
char *buf;
@@ -3610,7 +3686,7 @@
}
/* parserp->loadsubset = XML_DETECT_IDS; */
- rv = php_xmlparser_new(parserp, &ret TSRMLS_CC);
+ rv = php_xmlparser_new(parserp, &ret TSRMLS_CC);
DOMXML_RET_ZVAL(rv);
}
/* }}} */
@@ -3638,7 +3714,7 @@
Ends parsing and returns DomDocument*/
PHP_FUNCTION(domxml_parser_end)
{
- zval *id,*rv;
+ zval *id,*rv = NULL;
xmlParserCtxtPtr parserp;
char *chunk = NULL;
int chunk_len = 0, error;
@@ -3648,7 +3724,7 @@
DOMXML_PARAM_TWO(parserp, id, le_domxmlparserp,"|s", &chunk, &chunk_len);
error = xmlParseChunk(parserp, chunk, chunk_len, 1);
if (error != 0) {
- php_error(E_ERROR,"error: %d",error);
+ php_error(E_ERROR,"error: %d",error);
RETURN_FALSE;
}
if (parserp->myDoc != NULL) {
@@ -3698,7 +3774,7 @@
zval *pattr;
int ret;
- pattr = php_domobject_new((xmlNodePtr) ns, &ret TSRMLS_CC);
+ pattr = php_domobject_new((xmlNodePtr) ns, &ret, NULL TSRMLS_CC);
SEPARATE_ZVAL(&pattr);
/* if(!ret) { */
@@ -3741,7 +3817,7 @@
zval *pattr;
int ret;
- pattr = php_domobject_new((xmlNodePtr) attr, &ret TSRMLS_CC);
+ pattr = php_domobject_new((xmlNodePtr) attr, &ret, NULL TSRMLS_CC);
/** XXX FIXME XXX */
/* if(0 <= (n = node_children(&children, attr->children TSRMLS_CC))) {
zend_hash_update(Z_OBJPROP_P(value), "children", sizeof("children"), (void *) \
&children, sizeof(zval *), NULL); @@ -3779,7 +3855,7 @@
zval *child;
int ret;
- if (NULL != (child = php_domobject_new(last, &ret TSRMLS_CC))) {
+ if (NULL != (child = php_domobject_new(last, &ret, NULL TSRMLS_CC))) {
zend_hash_next_index_insert(Z_ARRVAL_PP(children), &child, sizeof(zval *), NULL);
/* Get the namespace of the current node and add it as a property */
@@ -3809,7 +3885,7 @@
Creates a tree of PHP objects from an XML document */
PHP_FUNCTION(domxml_xmltree)
{
- zval *children, *rv;
+ zval *children, *rv = NULL;
xmlDoc *docp;
xmlNode *root;
int ret, buf_len;
@@ -3991,7 +4067,7 @@
int retnode;
/* construct a node object */
- child = php_domobject_new(node, &retnode TSRMLS_CC);
+ child = php_domobject_new(node, &retnode, NULL TSRMLS_CC);
zend_hash_next_index_insert(Z_ARRVAL_P(arr), &child, sizeof(zval *), NULL);
}
zend_hash_update(Z_OBJPROP_P(rv), "nodeset", sizeof("nodeset"), (void *) &arr, \
sizeof(zval *), NULL); @@ -4098,8 +4174,6 @@
RETURN_STRING(LIBXML_DOTTED_VERSION, 1);
}
/* }}} */
-
-
#if HAVE_DOMXSLT
static zval *php_xsltstylesheet_new(xsltStylesheetPtr obj, int *found TSRMLS_DC)
Index: php4/ext/domxml/php_domxml.h
diff -u php4/ext/domxml/php_domxml.h:1.53 php4/ext/domxml/php_domxml.h:1.54
--- php4/ext/domxml/php_domxml.h:1.53 Thu May 16 17:59:26 2002
+++ php4/ext/domxml/php_domxml.h Fri May 31 01:58:40 2002
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_domxml.h,v 1.53 2002/05/16 21:59:26 chregu Exp $ */
+/* $Id: php_domxml.h,v 1.54 2002/05/31 05:58:40 rodif_bl Exp $ */
#ifndef PHP_DOMXML_H
#define PHP_DOMXML_H
@@ -47,9 +47,17 @@
#endif
#endif
+/* DOMXML API_VERSION, please bump it up, if you change anything in the API
+ therefore it's easier for the script-programmers to check, what's working how
+ Can be checked with phpversion("domxml");
+*/
+#define DOMXML_API_VERSION "20020530"
+
extern zend_module_entry domxml_module_entry;
#define domxml_module_ptr &domxml_module_entry
+PHPAPI zval *php_domobject_new(xmlNodePtr obj, int *found, zval* in TSRMLS_DC);
+
/* directory functions */
PHP_MINIT_FUNCTION(domxml);
PHP_RINIT_FUNCTION(domxml);
@@ -138,7 +146,6 @@
PHP_FUNCTION(domxml_attr_specified);
/* Class Element methods */
-PHP_FUNCTION(domxml_element);
PHP_FUNCTION(domxml_elem_tagname);
PHP_FUNCTION(domxml_elem_get_attribute);
PHP_FUNCTION(domxml_elem_set_attribute);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic