сделать тоже, что и xsl:include

neuro

Guest
сделать тоже, что и xsl:include

Имеется два xsl файла. Как, на php5, один инклудить во второй? как если бы в одном из них был <xsl:include ... /> ?
 

neuro

Guest
Автор оригинала: Alexandre
так же как и на php 4

директива <xsl:include >
:) ... это понятно... это для xslt процессора. Надо сделать [xsl:include] средствами php5 ... :)

Всё дело в том что я заведомо не знаю название файла, который буду инклудить, а потому и не могу указать его в <xsl:include> ... :confused:
 

crocodile2u

http://vbolshov.org.ru
Что-то подобное проскакивало на этом форуме месяц-другой-третий назад.
 

Alexandre

PHPПенсионер
Всё дело в том что я заведомо не знаю название файла, который буду инклудить, а потому и не могу указать его в <xsl:include>
средства лечения от этой болезни два:

1: спроектировать систему так, чтоб знать имя файла

2: кривой но рабочий способ
назначаем переменной $xsl данный текст..
PHP:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include  href=  "$href" />
. . .
а далее выполняем $xsl1 = eval( $xsl );
где $href - содержит имя файла включения.

я пошел по первому пути...
 

neuro

Guest
Автор оригинала: Alexandre
средства лечения от этой болезни два:

1: спроектировать систему так, чтоб знать имя файла

2: кривой но рабочий способ
назначаем переменной $xsl данный текст..
PHP:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include  href=  "$href" />
. . .
а далее выполняем $xsl1 = eval( $xsl );
где $href - содержит имя файла включения.

я пошел по первому пути...
когда делаем $xsl1 = eval( $xsl );
получаем:
Parse error: parse error, unexpected '<' in /long..path/file.php(89) : eval()'d code on line 1
 

[DAN]

Старожил PHPClub
Код:
$xsl = '<'.'?...'.'?'.'>';
Комбинации символов '<?' и '?>' являются служебными (или как их там правильно называют) для пхп, поэтому он и ругается.

-~{}~ 11.03.05 17:23:

Вообще я че-то не понял, зачем там eval()?
Просто
PHP:
$xsl = '<'.'?xml ... ?'.'> ... <xsl:include href="'.$href.'"/>';
 

Alexandre

PHPПенсионер
<? ?>

Вообще я че-то не понял, зачем там eval()?
просто, имелось ввиду, что шаблон может находится во внешнем файле...и затаскивается fread()

вообще-то я писал, что это криво.

-~{}~ 11.03.05 18:14:

http://phpclub.ru/talk/showthread.php?s=&threadid=60032&highlight=xslinclude

про символы
PHP:
<? ?>
я что-то и не подумал, можно обойтись и без первой строки или ее уже подцеплять, после затаскивания шаблона из файла.
 
Сверху