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

Reply via email to