Me pone programar

Más que me pone, digamos que me gusta y disfruto con ello

Me pone programar

Blog personal sobre PHP, JavaScript, CSS, Estándares, Flash i demás temas interesantes del mundo de la informática e Internet

Hacer llamadas a funciones PHP desde XSL

12/08/2008 a las 07:32 por Shox

Hace 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:
  1. <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:
  1. $xslt->registerPHPFunctions();

Ahora solo hay que llamar a la funcion PHP desde el código XSL:

XML:
  1. <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:
  1. 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.

XSLTProcessor

registerPHPFunctions

Categorías: PHP
Tags: , , ,
Comentarios: Sin comentarios »