XSLTProcessor
PHP Manual

XSLTProcessor::registerPHPFunctions

(PHP 5 >= 5.0.4)

XSLTProcessor::registerPHPFunctionsفعال‌سازی توانایی استفاده از توابع PHP به عنوان توابع XSLT

Description

void XSLTProcessor::registerPHPFunctions ([ mixed $restrict ] )

این متد توانایی استفاده توابع PHP به عنوان توابع XSLT در XSL stylesheets را فعال می‌کند.

Parameters

restrict

این پارامتر را برای توابع به خصوصی فراخوانی شده XSLT استفاده کنید.

این پارامتر می‌تواند رشته (نام تابع) یا آرایه توابع باشد.

Return Values

No value is returned.

Examples

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);
?>

Changelog

Version Description
5.1.0 پارامتر restrict اضافه شد.


XSLTProcessor
PHP Manual