XSLTProcessor
PHP Manual

XSLTProcessor::registerPHPFunctions

(PHP 5 >= 5.0.4)

XSLTProcessor::registerPHPFunctionsEnables the ability to use PHP functions as XSLT functions

설명

void registerPHPFunctions ([ mixed $restrict ] )

This method enables the ability to use PHP functions as XSLT functions within XSL stylesheets.

인수

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.

반환값

값을 반환하지 않습니다.

예제

Example #1 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);
?>

변경점

버전 설명
5.1.0 The restrict parameter was added.


XSLTProcessor
PHP Manual