--TEST-- Overriding an EXSLT builtin --EXTENSIONS-- xsl --SKIPIF-- hasExsltSupport()) die('skip EXSLT support not available'); if (LIBXSLT_VERSION < 10130) die('skip too old libxsl'); require __DIR__.'/skip_upstream_issue113.inc'; ?> --FILE-- textContent); return 'dummy value'; } function dummy_exit($input) { var_dump($input); exit("dummy exit"); } $xsl = << XML; $xml = << XML; $xsldoc = new DOMDocument(); $xsldoc->loadXML($xsl); $xmldoc = new DOMDocument(); $xmldoc->loadXML($xml); $proc = new XSLTProcessor(); $proc->importStylesheet($xsldoc); // Should override the builtin function $proc->registerPHPFunctionNS('http://exslt.org/dates-and-times', 'year', dummy_year(...)); echo $proc->transformToXML($xmldoc), "\n"; // Should not exit $proc->registerPHPFunctionNS('http://www.w3.org/1999/XSL/Transform', 'value-of', dummy_exit(...)); echo $proc->transformToXML($xmldoc), "\n"; ?> --EXPECT-- string(10) "2007-12-31" dummy value string(10) "2007-12-31" dummy value