rrichards Wed Sep 10 11:20:35 2008 UTC Added files: /php-src/ext/simplexml/tests bug45553.phpt
Modified files: /php-src/ext/simplexml simplexml.c Log: fix bug #45553 (Using XPath for attributes with a namespace does not work) add test http://cvs.php.net/viewvc.cgi/php-src/ext/simplexml/simplexml.c?r1=1.258&r2=1.259&diff_format=u Index: php-src/ext/simplexml/simplexml.c diff -u php-src/ext/simplexml/simplexml.c:1.258 php-src/ext/simplexml/simplexml.c:1.259 --- php-src/ext/simplexml/simplexml.c:1.258 Fri Aug 8 22:06:42 2008 +++ php-src/ext/simplexml/simplexml.c Wed Sep 10 11:20:35 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: simplexml.c,v 1.258 2008/08/08 22:06:42 colder Exp $ */ +/* $Id: simplexml.c,v 1.259 2008/09/10 11:20:35 rrichards Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -1287,7 +1287,7 @@ if (nodeptr->type == XML_TEXT_NODE) { _node_as_zval(sxe, nodeptr->parent, value, SXE_ITER_NONE, NULL, NULL, 0 TSRMLS_CC); } else if (nodeptr->type == XML_ATTRIBUTE_NODE) { - _node_as_zval(sxe, nodeptr->parent, value, SXE_ITER_ATTRLIST, (char *)nodeptr->name, NULL, 0 TSRMLS_CC); + _node_as_zval(sxe, nodeptr->parent, value, SXE_ITER_ATTRLIST, (char*)nodeptr->name, nodeptr->ns ? nodeptr->ns->href : NULL, 0 TSRMLS_CC); } else { _node_as_zval(sxe, nodeptr, value, SXE_ITER_NONE, NULL, NULL, 0 TSRMLS_CC); } @@ -2640,7 +2640,7 @@ { php_info_print_table_start(); php_info_print_table_header(2, "Simplexml support", "enabled"); - php_info_print_table_row(2, "Revision", "$Revision: 1.258 $"); + php_info_print_table_row(2, "Revision", "$Revision: 1.259 $"); php_info_print_table_row(2, "Schema support", #ifdef LIBXML_SCHEMAS_ENABLED "enabled"); http://cvs.php.net/viewvc.cgi/php-src/ext/simplexml/tests/bug45553.phpt?view=markup&rev=1.1 Index: php-src/ext/simplexml/tests/bug45553.phpt +++ php-src/ext/simplexml/tests/bug45553.phpt --TEST-- Bug #45553 (Using XPath to return values for attributes with a namespace does not work) --FILE-- <?php $xml =<<<XML <xml xmlns:a="http://a"> <data a:label="I am A" label="I am Nothing">test1</data> <a:data a:label="I am a:A" label="I am a:Nothing">test2</a:data> </xml> XML; $x = simplexml_load_string($xml); $x->registerXPathNamespace("a", "http://a"); $atts = $x->xpath("/xml/data/@a:label"); echo $atts[0] . "\n"; $atts = $x->xpath("/xml/a:data"); echo $atts[0]->attributes() . "\n"; $atts = $x->xpath("/xml/a:data/@a:label"); echo $atts[0] . "\n"; $atts = $x->xpath("/xml/a:data/@label"); echo $atts[0] . "\n"; $atts = $x->xpath("/xml/data/@label"); echo $atts[0] . "\n"; ?> --EXPECTF-- I am A I am a:Nothing I am a:A I am a:Nothing I am Nothing -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php