rrichards Wed Sep 10 11:21:12 2008 UTC
Added files: (Branch: PHP_5_3)
/php-src/ext/simplexml/tests bug45553.phpt
Modified files:
/php-src/ext/simplexml simplexml.c
Log:
MFH: 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.151.2.22.2.35.2.17&r2=1.151.2.22.2.35.2.18&diff_format=u
Index: php-src/ext/simplexml/simplexml.c
diff -u php-src/ext/simplexml/simplexml.c:1.151.2.22.2.35.2.17
php-src/ext/simplexml/simplexml.c:1.151.2.22.2.35.2.18
--- php-src/ext/simplexml/simplexml.c:1.151.2.22.2.35.2.17 Fri Aug 8
22:07:07 2008
+++ php-src/ext/simplexml/simplexml.c Wed Sep 10 11:21:12 2008
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: simplexml.c,v 1.151.2.22.2.35.2.17 2008/08/08 22:07:07 colder Exp $ */
+/* $Id: simplexml.c,v 1.151.2.22.2.35.2.18 2008/09/10 11:21:12 rrichards Exp $
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -1270,7 +1270,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);
}
@@ -2558,7 +2558,7 @@
{
php_info_print_table_start();
php_info_print_table_header(2, "Simplexml support", "enabled");
- php_info_print_table_row(2, "Revision", "$Revision:
1.151.2.22.2.35.2.17 $");
+ php_info_print_table_row(2, "Revision", "$Revision:
1.151.2.22.2.35.2.18 $");
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