| Despabilando la MonoNeurona::Internet es de todos [Inicio] [Regresar] |
|
WWW \ Mi primer XSLT con PHP5 Este artículo ha sido consultado en 802 ocasiones. De la wikipedia: XSLT o XSL Transformaciones es un estándar de la organización W3C que presenta una forma de transformar documentos XML en otros e incluso a formatos que no son XML. Las hojas de estilo XSLT realizan la transformación del documento utilizando una o varias reglas de plantilla: unidas al documento fuente a transformar, esas reglas de plantilla alimentan a un procesador de XSLT, el cual realiza las transformaciones deseadas colocando el resultado en un archivo de salida o, como en el caso de una pagina web, directamente en un dispositivo de presentación, como el monitor de un usuario. Actualmente, XSLT es muy usado en la edición web, generando páginas HTML o XHTML. La unión de XML y XSLT permite separar contenido y presentación, aumentando así la productividad. Dicho de otra manera, XSLT es un lenguaje que toma un XML, lo procesa siguiendo las indicaciones de un XSl resultando otro archivo XML con formato (tipicamente un XHTML para Mozilla o un WML para celulares y Palm). El proceso es el siguiente: Un archivo con la información en formato XML. (Este archivo pueder ser creado "al vuelo" a través de una consulta SQL):
No importa cómo lo obtuvimos, el caso es que tenemos el archivo books.xml. Note que el archivo está vinculado a la hoja de estilos books.xsl y que en esta tenemos la hoja es estilos en cascada CSS books.css. Es decir el proceso es: books.xml -> books.xsl ->books.css -> nuestra_pagina.xhtml Existen muchas implementaciones de XSLT, de hecho cada lenguaje tiene la suya, por ejemplo, podríamos crear el archivo nuestra_pagina.xhtml con el Xalan que es el XSLT de Java con: $java org.apache.xalan.xslt.Process -IN books.xml -XSL books.xsl -OUT nuestra_pagina.xhtml Sin embargo, también podríamos hacerlo con el archivo inixslt.php usando la librería XSL de PHP5: 1:<?php 2:ob_start(); 3: 4:/** 5: * XSLT Example 6: * @author Manuel Montoya <manuel@mononeurona.org> 7: * @license http://www.opensource.org/licenses/gpl-license.php 8: * @filesource 9: */ 10: 11: $xml = "books.xml"; 12: $xslt = "books.xsl"; 13: 14: $xsl = new DomDocument(); 15: $inputdom = new DomDocument(); 16: 17: $xsl->load($xslt); 18: $inputdom->load($xml); 19: 20: 21: $proc = new XsltProcessor(); 22: 23: $proc->registerPhpFunctions(); 24: 25: // Load the documents and process using $xslt 26: $xsl = $proc->importStylesheet($xsl); 27: 28: /** transform and output the xml document */ 29: $newdom = $proc->transformToDoc($inputdom); 30: 31: print $newdom->saveXML(); 32: 33: ob_end_flush(); 34:?> El resultado puede verse aquí. Última actualización: 2007-04-29 10:56:59-05 |
| Este trabajo está licenciado bajo la MonoNeurona Commons License. 2002-2008 © :: Colectivo MonoNeurona.org :: |