chregu Sun Jul 16 15:05:32 2006 UTC
Modified files:
/php-src/ext/dom dom_fe.h node.c
Log:
Added DOMNode::getNodePath() for getting an XPath for a node.
(MFB)
http://cvs.php.net/viewvc.cgi/php-src/ext/dom/dom_fe.h?r1=1.17&r2=1.18&diff_format=u
Index: php-src/ext/dom/dom_fe.h
diff -u php-src/ext/dom/dom_fe.h:1.17 php-src/ext/dom/dom_fe.h:1.18
--- php-src/ext/dom/dom_fe.h:1.17 Fri May 26 18:22:06 2006
+++ php-src/ext/dom/dom_fe.h Sun Jul 16 15:05:32 2006
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dom_fe.h,v 1.17 2006/05/26 18:22:06 rrichards Exp $ */
+/* $Id: dom_fe.h,v 1.18 2006/07/16 15:05:32 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.44&r2=1.45&diff_format=u
Index: php-src/ext/dom/node.c
diff -u php-src/ext/dom/node.c:1.44 php-src/ext/dom/node.c:1.45
--- php-src/ext/dom/node.c:1.44 Fri May 26 18:22:06 2006
+++ php-src/ext/dom/node.c Sun Jul 16 15:05:32 2006
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: node.c,v 1.44 2006/05/26 18:22:06 rrichards Exp $ */
+/* $Id: node.c,v 1.45 2006/07/16 15:05:32 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