Вопрос о вложенности xsl файлов

ageres

Guest
Вопрос о вложенности xsl файлов

Есть несколько модулей, каждый модуль имеет свой xsl файл. Есть общий xsl-файл, который огранизует загрузку headera, элементов меню и т.п..

Из общего xsl-файла вызывается нужный xsl файл, в зависимости от выбранного модуля.

Логично поставить условие, и в зависимости от модуля - загружать нужный файл.

<xsl:if test="@mod='pagecont'">
<xsl: include href="pagecont.xsl" />
</xsl:if>

Получаю ошибку, о том, что include должен быть в начале файла, хотя он там и находится.

В результате поставил условие внутри файла pagecont.xsl. Также поступил и с другими модулями. Все модули инклудятся в самом начале основного файла.

Вопрос такой: есть ли другие схемы работы, если есть, то как они организованны?
 

slach

Новичок
include должен быть не в начале а в TOP Level'е =))

т.е. иметь непосредственным предком в дереве тегов
<xsl:stylesheet>

то как ты пытаешься делать, криво, так не делается =)

схемы работы с множественными XSL кажется обсуждалась вот тут: http://phpclub.net/talk/showthread.php?s=&threadid=32388

но не уверен
 

ageres

Guest
2 slach:

Лол! Спасибо конечно, но Вы читали, что там написано? :)
 

slach

Новичок
читал =)
я просто помню, что было по xsl:include несколько топиков в этом форуме... посмотрел в поиск, там самый подходящий топик был вот этот =)

я ж написал что "неуверен"...

кроме того =) средствами одного XSLT IMHO тебе не сделать гибкое подключение части шаблонов

ты ф-циями ob_start() пользуйся...
PHP:
ob_start();
echo '<?xml version="1.0" encoding="windows-1251"?>';
include('main.xsl');
$xsl=ob_get_contents();
ob_end_clean();
---main.xsl ---

<? if ($module=='pager') {?>
<xsl:include href="pager.xsl"/>
<? } ?>
 
Сверху