estoy tratando de utilizar archivos XML y hojas de estilo XSL en lugar de plantillas PHTML ordinarios en Zend Framework. Aunque no estoy seguro de cómo implementarlo.Zend Framework y XML/XSLT Integración
Lo que he tratado de hacer hasta ahora:
- en lugar de puntos de vista .phtml utilizo hojas de estilo .xsl
- utilizo diseños .xml
Esto es lo que hago en el método init() de cada controlador:
$this->view->xmlStylesheet = '/../application/modules/default/views/scripts/'
. $this->_request->getControllerName() . '/'
. $this->_request->getActionName() . '.xsl';
que me da una ruta como:
/../application/modules/default/views/scripts/index/index.xsl
Mi diseño es el siguiente:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="<?php echo $this->escape($this->xmlStylesheet); ?>"?>
<page>
<header></header>
<content></content>
<footer></footer>
</page>
Y las vistas este aspecto, por ejemplo:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"
media-type="application/xhtml+xml" encoding="iso-8859-1"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/">
<html>
<head>
<title>Hello World</title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=iso-8859-1"/>
</head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Lo que me sale en el navegador (Firefox), aunque es sólo una página en blanco con una fuente como esta, por ejemplo:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/../application/modules/default/views/scripts/index/index.xsl"?>
<page>
<header></header>
<content></content>
<footer></footer>
</page>
Podría alguien lp me fuera? Tenga en cuenta que soy un principiante de XML, así que estoy empezando a aprender a usarlo de manera efectiva.
Gracias. ¿Hay algún plan para incluir soporte para XSLT en el lanzamiento oficial de ZF a veces en el futuro? –
XSLT no parece estar en la hoja de ruta para ZF 2.0: http://framework.zend.com/wiki/display/ZFDEV2/Zend+Framework+2.0+Roadmap –
también que no encuentran ninguna de estas solicitudes relacionadas con usando XSLT en Vistas en su rastreador de problemas. Creo que a la mayoría de los usuarios y desarrolladores de ZF no les gustaría esta característica (aunque XSLT a menudo es mucho más rápido de renderizar que los scripts de PHP). –