mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
49b8168ddb
Also removes an incorrect comment: we *do* need the special namespace node handling code, otherwise we'd segfault.
34 lines
748 B
PHP
34 lines
748 B
PHP
--TEST--
|
|
DOMXPath::evaluate() with PHP function passing a namespace node-set
|
|
--EXTENSIONS--
|
|
dom
|
|
--FILE--
|
|
<?php
|
|
|
|
$dom = new DOMDocument();
|
|
$dom->loadXML(<<<XML
|
|
<?xml version="1.0"?>
|
|
<container>
|
|
<p>hi</p>
|
|
</container>
|
|
XML);
|
|
|
|
$xpath = new DOMXPath($dom);
|
|
|
|
function node_test($nodes) {
|
|
echo "nodes count: ", count($nodes), "\n";
|
|
return array_sum(array_map(fn ($node) => strlen($node->nodeName), $nodes));
|
|
}
|
|
|
|
$xpath->registerNamespace("php", "http://php.net/xpath");
|
|
$xpath->registerPhpFunctions(['node_test']);
|
|
var_dump($xpath->evaluate('number(php:function("node_test", //namespace::*))'));
|
|
var_dump($xpath->evaluate('boolean(php:function("node_test", //namespace::*))'));
|
|
|
|
?>
|
|
--EXPECT--
|
|
nodes count: 2
|
|
float(18)
|
|
nodes count: 2
|
|
bool(true)
|