[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как правильно вставить php в xslt
dvornik
Здравствуйте,

помогите, пожалуйста, разобраться. Есть необходимость вставить код php в xslt и сделать

его рабочим. Для этого я пытаюсь использовать инструкцию по обработке вывода.

Пример:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 

xmlns:php="http://php.net/xsl" exclude-result-prefixes="php">
<xsl:output
method="xml" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-

strict.dtd"
encoding="UTF-8" />
<xsl:template
match="/temp">
<div
class="tclass">
<xsl:processing-instruction
name="php">

echo '123test';

</xsl:processing-instruction>
</div>
</xsl:template>
</xsl:stylesheet>


Но на выходе я получаю:

<!--?php
echo '123test';
?-->

Что я делаю не так? Возможно ли настроить все-таки php в xslt?
stump
может сказать апачу чтобы он xslt обрабатывал как РНР. Тогда сначала отработает все РНР, а потом инструкции xslt.

_____________
Трус не играет в хокей
chee
Не надо встраивать php в xslt, лучше поднабраться теории и делать все по нормальному.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
stump
Цитата (chee @ 31.03.2015 - 14:13)
Не надо встраивать php в xslt, лучше поднабраться теории и делать все по нормальному.

Да-да! Полностью согласен.

_____________
Трус не играет в хокей
dvornik
Цитата (chee @ 31.03.2015 - 14:13)
Не надо встраивать php в xslt, лучше поднабраться теории и делать все по нормальному.

Подскажите, в такой конструкции все же должен работать код php или нет?
chee
dvornik, xslt не должно быть php кода, если он там есть, значит ты что-то делаешь не так, или хочешь нарушить идеологию xslt


_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
dvornik
Тогда может в обратную сторону.. Есть значения в xsl. Как их можно вытянуть и присвоить переменным php.

Например есть значение:

<xsl:value-of select="pay/method/form/input[@name='item_number']/@value" />


на определенной странице .xsl и есть файл .php c переменной $inumber. Как переменной передать и присвоить это значение? И возможно ли вообще?
stump
Конкретный пример необходимости использования РНР и обсудим как можно обойтись без него.

_____________
Трус не играет в хокей
dvornik
Цитата (stump @ 1.04.2015 - 17:41)
Конкретный пример необходимости использования РНР и обсудим как можно обойтись без него.

API платежной системы на php. Со статическими данными проблем нет. Но нужно вписывать каждый раз новые данные, которые доступны в .xsl
stump
Я вот вечерком покумекал и решил что заставить апач понимать xslt как php ничего не даст потому что нет прямого обращения апача к xslt, и кроме того все забрасывается в класс который парсит XML.

Цитата
API платежной системы на php. Со статическими данными проблем нет. Но нужно вписывать каждый раз новые данные, которые доступны в .xsl


Первая мысль которая появилась это "нам нужен XML". Класс DOMDocument умеет добавлять, удалять, модифицировать тэги XML и поэтому используя класс DOMDocument можно скорректировать XML добавив в него все данные которые каждый раз новые, а потом этот XML закинуть в парсер который XML выстроит в XHTML на основе шаблона xslt. Делая так, никакой вставки РНР в xslt не понадобиться.

_____________
Трус не играет в хокей
chee
Цитата (dvornik @ 2.04.2015 - 10:33)
Но нужно вписывать каждый раз новые данные, которые доступны в .xsl

Генерируй из xsl статические данные, с которыми нет проблем

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
dvornik
Цитата (chee @ 2.04.2015 - 11:55)
Цитата (dvornik @ 2.04.2015 - 10:33)
Но нужно вписывать каждый раз новые данные, которые доступны в .xsl

Генерируй из xsl статические данные, с которыми нет проблем

Как их сгенерировать?
chee
Ну берешь массив php даннах и перегоняешь его в xml со заданой структурой.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.