JavaScript Editor Javascript debugger     Website design 

XSLTProcessor::registerPHPFunctions

Enables the ability to use PHP functions as XSLT functions ()

XSLTProcessor {
  void 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.

Return Values

No value is returned.

Examples

Example 2652. 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);
?>


ChangeLog

VersionDescription
5.1.0 The restrict parameter was added.