Платформа зенда И Интеграция XML/XSLT

Я пытаюсь использовать XML-файлы и таблицы стилей XSL вместо обычных шаблонов phtml в Платформе Зенда. Я не уверен, как реализовать его, все же.

Что я попытался сделать до сих пор:

  • вместо представлений .phtml я использую .xsl таблицы стилей
  • Я использую .xml разметки

Вот то, что я делаю в init () метод каждого контроллера:

$this->view->xmlStylesheet = '/../application/modules/default/views/scripts/'
. $this->_request->getControllerName() . '/'
. $this->_request->getActionName() . '.xsl';

Который дает мне путь как:

/../application/modules/default/views/scripts/index/index.xsl

Мое расположение похоже на это:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="<?php echo $this->escape($this->xmlStylesheet); ?>"?>
<page>
    <header></header>
    <content></content>
    <footer></footer>
</page>

И представления похожи на это, например:

<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>

Что я вхожу в браузер (Firefox), хотя просто пустая страница с источником как это, например:

<?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>

Кто-то мог выручить меня? Учтите, что я - новичок XML, таким образом, я только начинаю изучать, как использовать его эффективно.

5
задан hakre 15 December 2012 в 19:46
поделиться

1 ответ

Here's an article on how to create a custom Zend_View class that uses XSLT to render:

"Zend Framework: XSL and self-serializing Views" (Pascal Opitz)

6
ответ дан 14 December 2019 в 13:38
поделиться