(PHP 5 >= 5.0.4, PHP 7)
Enables the ability to use PHP functions as XSLT functions
void XSLTProcessor::registerPHPFunctions ([ mixed $restrict ] )
This method enables the ability to use PHP functions as XSLT functions within XSL stylesheets.
Parameters:
restrict
Use this parameter to only allow certain functions to be called from XSLT.
This parameter can be either a string (a function name) or an array of functions.
Returns:
No value is returned.
Changelog:
5.1.0
The restrict
parameter was added.
Examples:
Simple PHP Function call from a stylesheet
<?php $xml = <<<EOB <allusers> <user> <uid>bob</uid> </user> <user> <uid>joe</uid> </user> </allusers> EOB; $xsl = <<<EOB <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl"> <xsl:output method="html" encoding="utf-8" indent="yes"/> <xsl:template match="allusers"> <html><body> <h2>Users</h2> <table> <xsl:for-each select="user"> <tr><td> <xsl:value-of select="php:function('ucfirst',string(uid))"/> </td></tr> </xsl:for-each> </table> </body></html> </xsl:template> </xsl:stylesheet> EOB; $xmldoc = DOMDocument::loadXML($xml); $xsldoc = DOMDocument::loadXML($xsl); $proc = new XSLTProcessor(); $proc->registerPHPFunctions(); $proc->importStyleSheet($xsldoc); echo $proc->transformToXML($xmldoc); ?>
Please login to continue.