XSLTProcessor::registerPHPFunctions
(PHP 5 >= 5.0.4, PHP 7, PHP 8)
XSLTProcessor::registerPHPFunctions — Aktiviert die Nutzbarkeit von PHP-Funktionen als XSLT-Funktionen
Beschreibung
$functions
= null
): voidDiese Methode aktiviert die Nutzbarkeit von PHP-Funktionen als XSLT-Funktionen innerhalb eines XSL-Stylesheets.
Parameter-Liste
-
functions
-
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);
?>