Перейти к содержимому

Фотография
- - - - -

Наследование базового шаблона


  • Вы не можете создать новую тему
  • Закрытая тема Тема закрыта
В теме одно сообщение

#1 Seneka

Seneka

    Прохожий

    Топикстартер
  • Новичок
  • 0
    1 сообщ.

Отправлено 27 Май 2010 в 01:15

Нужно сделать наследование xslt шаблонов аналогично Джанговскому.
Шаблон-подкласс расширяет базовый шаблон, заменяя пустой внутренний под-шаблон конкретным содержимым с собственной разметкой.
Требуется примерно следующее:

base.xsl
<?xml version = "1.0" encoding="utf-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
    BEFORE
    <p>
    <xsl:template match="content" ></xsl:template>
    </p>
    AFTER
</xsl:template>
</xsl:stylesheet>

test.xsl
<?xml version = "1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:import href="base.xsl" />
<xsl:template match="content">
    <xsl:for-each select="item">
        <xsl:value-of select="@name" /><br />
    </xsl:for-each>
    <xsl:apply-imports />
</xsl:template>

</xsl:stylesheet>

test.xml
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="test.xsl" ?>
<content>
    <item name="Item1" />
    <item name="Item2" />
    <item name="Item3" />
</content>

Требуемый результат
BEFORE
<p>
 Item1<br />
 Item2<br />
 Item3<br />
</p>
AFTER

Желательно реализовать строго через наследование, а не include.
Например, вывести сначала Before, затем content, затем after - это концептуально не то, что нужно.

Пробовал по документации, но ни одного даже неправильного вывода не получил. Только ошибки, типа здесь нельзя temlate, там нельзя import, тут нельзя что-то иное. В общем, ничего нельзя.
  • 0

Спонсор

#2 Medwoodu

Medwoodu

    Злобный модер

  • суперМодератор
  • 357
    1 418 сообщ.

Отправлено 27 Май 2010 в 14:33

http://raleigh.ru/XM...al/contents.htm
  • 0



Похожие темы Свернуть

Статистика

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей