Hacer llamadas a funciones PHP desde XSL
12/08/2008 a las 07:32 por ShoxHace poco me dijeron que podia hacer llamadas a funciones PHP desde XSL que devolvieran strings. Hoy mismo he investigado un poco el tema, y ha sido más fácil de lo que me esperaba:
1.- Añadir a la hoja de estilo XSL el namespace de PHP para que valide:
XML:
-
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl">
2.- En el parser PHP, habilitar las llamadas en PHP con esta línea, justo después del constructor
PHP:
-
$xslt->registerPHPFunctions();
Ahora solo hay que llamar a la funcion PHP desde el código XSL:
XML:
-
<xsl:value-of select="php:function('getMessage','welcome',string($id))"/>
Donde getMessage es el nombre de mi funcion, i los demás párametros son añadidos a dicha función. Generaría algo así:
PHP:
-
getMessage('welcome',id);
donde id es una variable de XSL, de ahí lo de string($id).
Con simplemente esto, podemos hacer llamadas a PHP, posibilitando que generen incluso XML, el cual será tratado por el XSL.