chregu Sun Jul 16 15:03:53 2006 UTC Modified files: (Branch: PHP_5_2) /php-src NEWS /php-src/ext/dom dom_fe.h node.c Log: Added DOMNode::getNodePath() for getting an XPath for a node. http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.125&r2=1.2027.2.547.2.126&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.125 php-src/NEWS:1.2027.2.547.2.126 --- php-src/NEWS:1.2027.2.547.2.125 Sun Jul 16 10:50:58 2006 +++ php-src/NEWS Sun Jul 16 15:03:53 2006 @@ -77,6 +77,7 @@ - Added pg_field_table() function. (Edin) - Added SimpleXMLElement::saveXML() as an alias for SimpleXMLElement::asXML(). (Hannes) +- Added DOMNode::getNodePath() for getting an XPath for a node. (Christian) - Optimized zend_try/zend_catch macros by eliminating memcpy(3). (Dmitry) - Optimized require_once() and include_once() by eliminating fopen(3) http://cvs.php.net/viewvc.cgi/php-src/ext/dom/dom_fe.h?r1=1.14.2.1.2.2&r2=1.14.2.1.2.3&diff_format=u Index: php-src/ext/dom/dom_fe.h diff -u php-src/ext/dom/dom_fe.h:1.14.2.1.2.2 php-src/ext/dom/dom_fe.h:1.14.2.1.2.3 --- php-src/ext/dom/dom_fe.h:1.14.2.1.2.2 Fri May 26 18:23:50 2006 +++ php-src/ext/dom/dom_fe.h Sun Jul 16 15:03:53 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: dom_fe.h,v 1.14.2.1.2.2 2006/05/26 18:23:50 rrichards Exp $ */ +/* $Id: dom_fe.h,v 1.14.2.1.2.3 2006/07/16 15:03:53 chregu Exp $ */ #ifndef DOM_FE_H #define DOM_FE_H @@ -167,6 +167,7 @@ PHP_FUNCTION(dom_node_get_user_data); PHP_METHOD(domnode, C14N); PHP_METHOD(domnode, C14NFile); +PHP_METHOD(domnode, getNodePath); /* domnodelist methods */ PHP_FUNCTION(dom_nodelist_item); http://cvs.php.net/viewvc.cgi/php-src/ext/dom/node.c?r1=1.37.2.3.2.1&r2=1.37.2.3.2.2&diff_format=u Index: php-src/ext/dom/node.c diff -u php-src/ext/dom/node.c:1.37.2.3.2.1 php-src/ext/dom/node.c:1.37.2.3.2.2 --- php-src/ext/dom/node.c:1.37.2.3.2.1 Fri May 26 18:23:50 2006 +++ php-src/ext/dom/node.c Sun Jul 16 15:03:53 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: node.c,v 1.37.2.3.2.1 2006/05/26 18:23:50 rrichards Exp $ */ +/* $Id: node.c,v 1.37.2.3.2.2 2006/07/16 15:03:53 chregu Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -53,6 +53,7 @@ PHP_FALIAS(getFeature, dom_node_get_feature, NULL) PHP_FALIAS(setUserData, dom_node_set_user_data, NULL) PHP_FALIAS(getUserData, dom_node_get_user_data, NULL) + PHP_ME(domnode, getNodePath, NULL, ZEND_ACC_PUBLIC) PHP_ME(domnode, C14N, NULL, ZEND_ACC_PUBLIC) PHP_ME(domnode, C14NFile, NULL, ZEND_ACC_PUBLIC) {NULL, NULL, NULL} @@ -1857,3 +1858,32 @@ } #endif + +/* {{{ proto int DOMNode::getNodePath() + Gets an xpath for a node */ + +PHP_METHOD(domnode, getNodePath) +{ + zval *id; + xmlNode *nodep; + dom_object *intern; + char *value; + + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &id, dom_node_class_entry) == FAILURE) { + return; + } + + DOM_GET_OBJ(nodep, id, xmlNodePtr, intern); + + value = xmlGetNodePath(nodep); + if (value == NULL) { + RETURN_EMPTY_STRING(); + } else { + RETVAL_STRING(value, 1); + xmlFree(value); + } + + +} +
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php