Procesar XML con PHP usando Sablotron

Para poder procesar archivos XML con su correspondiente XSL y mostrarle la información al usuario en forma de archivo HTML necesitamos instalar Expat y Sablotron en PHP.

Instalacion de Expat

(NOTA: puede que este paso no sea necesario en versiones recientes de PHP)

  1. Descargo Expat de aquí.
  2. Lo instalo dentro de la carpeta PHP
  3. Copio el archivo libexpat.dll (situado en la carpeta de expat\lib) a WINNT\System32
  4. No encuentro en la carpeta de Expat el archivo expat.dll, que sin embargo si que estaba en \php\dlls. Lo copio de ahi y lo pego en WINNT\System32
     

Instalación de Sablotron

Sablotron es un parser.

 En teoría, las últimas versiones de PHP ya traen Sablotron (omitir pasos 1 y 2), solo hay que activarlo en PHP.ini, y en 'Windows Extensions' eliminar el comentario de la línea:

extension = php_xslt.dll.

  1. Descargo Sablotron de aquí.
  2. Descomprimo el zip dentro de la carpeta PHP.
  3. Copio el archivo bin\sablot.dll a la carpeta WINNT\System32
  4. Abro PHP.ini y miro en extension_dir. En la carpeta que ahí se indica (normalmente debemos poner la carpeta donde tenemos PHP) copio el archivo php_xslt.dll que se encuentra dentro de \php\experimental.
  5. En PHP.ini buscamos 'Windows Extensions' y añadimos la línea:
    extension=php_xslt.dll (normalmente ya viene escrita, solo hay que eliminar el caracter que la bloquea ";").
  6. Guardamos los cambios en PHP.INI
  7. Reiniciamos el servidor.
  8. Si todo ha salido ver en la página de prueba de PHP (cuyo código es <? phpinfo() ?>) aparece lo siguiente
     

    xslt

    XSLT support enabled

Aquí hay algunos archivos de ejemplo que debemos meter en nuestra web para probar que funciona (eliminar la extensión .TXT a la hora de probarlo):