XSLTProcessor::registerPHPFunctions

(PHP 5 >= 5.0.4, PHP 7)

XSLTProcessor::registerPHPFunctionsAktiviert die Nutzbarkeit von PHP-Funktionen als XSLT-Funktionen

Beschreibung

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

Diese Methode aktiviert die Nutzbarkeit von PHP-Funktionen als XSLT-Funktionen innerhalb eines XSL Stylesheets.

Parameter-Liste

restrict

Dieser Parameter ermöglicht es, die via XSL aufrufbaren Funktionen einzuschränken.

Der übergebene Wert kann entweder ein String (der Name einer Funktion) oder ein Array mit Funktionsnamen sein.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Einfacher Aufruf einer PHP-Funktion durch ein 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>Benutzer</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 Beschreibung
5.1.0 Der Parameter restrict wurde eingeführt.