dvornik
31.03.2015 - 11:46
Здравствуйте,
помогите, пожалуйста, разобраться. Есть необходимость вставить код 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?
может сказать апачу чтобы он xslt обрабатывал как РНР. Тогда сначала отработает все РНР, а потом инструкции xslt.
_____________
Трус не играет в хокей
Не надо встраивать php в xslt, лучше поднабраться теории и делать все по нормальному.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (chee @ 31.03.2015 - 14:13) |
Не надо встраивать php в xslt, лучше поднабраться теории и делать все по нормальному. |
Да-да! Полностью согласен.
_____________
Трус не играет в хокей
dvornik
31.03.2015 - 19:09
Цитата (chee @ 31.03.2015 - 14:13) |
Не надо встраивать php в xslt, лучше поднабраться теории и делать все по нормальному. |
Подскажите, в такой конструкции все же должен работать код php или нет?
dvornik, xslt не должно быть php кода, если он там есть, значит ты что-то делаешь не так, или хочешь нарушить идеологию xslt
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
dvornik
1.04.2015 - 12:00
Тогда может в обратную сторону.. Есть значения в xsl. Как их можно вытянуть и присвоить переменным php.
Например есть значение:
<xsl:value-of select="pay/method/form/input[@name='item_number']/@value" />
на определенной странице .xsl и есть файл .php c переменной $inumber. Как переменной передать и присвоить это значение? И возможно ли вообще?
Конкретный пример необходимости использования РНР и обсудим как можно обойтись без него.
_____________
Трус не играет в хокей
dvornik
2.04.2015 - 10:33
Цитата (stump @ 1.04.2015 - 17:41) |
Конкретный пример необходимости использования РНР и обсудим как можно обойтись без него. |
API платежной системы на php. Со статическими данными проблем нет. Но нужно вписывать каждый раз новые данные, которые доступны в .xsl
Я вот вечерком покумекал и решил что заставить апач понимать xslt как php ничего не даст потому что нет прямого обращения апача к xslt, и кроме того все забрасывается в класс который парсит XML.
Цитата |
API платежной системы на php. Со статическими данными проблем нет. Но нужно вписывать каждый раз новые данные, которые доступны в .xsl |
Первая мысль которая появилась это "нам нужен XML". Класс DOMDocument умеет добавлять, удалять, модифицировать тэги XML и поэтому используя класс DOMDocument можно скорректировать XML добавив в него все данные которые каждый раз новые, а потом этот XML закинуть в парсер который XML выстроит в XHTML на основе шаблона xslt. Делая так, никакой вставки РНР в xslt не понадобиться.
_____________
Трус не играет в хокей
Цитата (dvornik @ 2.04.2015 - 10:33) |
Но нужно вписывать каждый раз новые данные, которые доступны в .xsl |
Генерируй из xsl статические данные, с которыми нет проблем
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
dvornik
3.04.2015 - 15:05
Цитата (chee @ 2.04.2015 - 11:55) |
Цитата (dvornik @ 2.04.2015 - 10:33) | Но нужно вписывать каждый раз новые данные, которые доступны в .xsl |
Генерируй из xsl статические данные, с которыми нет проблем
|
Как их сгенерировать?
Ну берешь массив php даннах и перегоняешь его в xml со заданой структурой.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.