Футер и хедер в XSL шаблоне.

simanyay

Новичок
Футер и хедер в XSL шаблоне.

Я пытаюсь использовать XML+XSLT для построения интерфейса пользователя, но столкнулся с проблемой футера и хедера.

Т.е. у меня есть совершенно разные по своей структуре xml файлы и разные xsl шаблоны. Но, единственное -- мне нужно сделать один хедер/футер на всех (ну как обычно делается с шаблонизаторами).

Если сделать так:

main.xsl:
PHP:
...
<xsl:template match="root">
  <html>
    <body>
          ....
          <xsl:apply-templates select="item" />
          ....
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>
...
some.xsl:
PHP:
...
<xsl:include href="main.xsl" />

  <xsl:template match="/">
    <xsl:apply-templates select="root" />
  </xsl:template >
...
то это обязывает xml файлы иметь определенную структуру. В данном случае, это
PHP:
<root>
  <item>
    ...
  </item>
</root>
Мне так не пойдёт :-( Т.е., в кратце, я не могу найти способ реализовать простейшую конструкцию include (которая есть в большинстве шаблонизаторах).

P.S. Решил использовать XML+XSLT, поскольку не нашёл хорошего шаблонизатора на PHP5.
 

Steamroller

Новичок
xsl:call-template можно использовать.

<xsl:template match="/">
<xsl:call-template name="header"/>
<xsl:apply-templates/>
<xsl:call-template name="footer"/>
</xsl:template >

а header и footer - держать во внешнем файле.
 

Alexandre

PHPПенсионер
я вообще так делаю...
main.xsl:
Код:
<html>....// часть хидера
<xsl:apply-templates/> 
часть фуктера....</html>
 
Сверху