F1please! XML & XSLT & PHP

katyakrog

Новичок
F1please! XML & XSLT & PHP

есть файл xml кот обрабатывается xsl шаблоном, в который через xsltProcessor->setParameter() передается переменная;
--------------
в php файле пишу:

xsltProcessor->setParameter('', 'text', '//items/item[@id=1] /')
------------------
в xsl:
<xsl:param name="text" />
…
<xsl:value-of select="$text" />
------------------
ВЫВОДИТ - саму строку "//items/item[@id=1]/", а не элементы item[@id=1]/



-------------------
в php:
// xsltProcessor->setParameter('', 'text', '//items/item[@id=1]/')
------------------
в xsl:
<xsl:param name="text" select="//items/item[@id=1]/" />
…
<xsl:value-of select="$text" />
------------------

все ок выводит элементы //items/item[@id=1]/
-------------------------------------------------

ОБЪЯСНИТЕ В ЧЕМ РАЗНИЦА !!!!?????????
 
первый вариант
Sets the value of one or more parameters to be used in subsequent transformations with XSLTProcessor. If the parameter doesn't exist in the stylesheet it will be ignored.
параметры устанавливаются как текст (а не как множество узлов) установка параметра осуществляется до трансформации.

а второй случай (<xslaram name="text" select="//items/item[@id=1]/" />) для переменной text устанавливается множество выбранных узлов select="//items/item[@id=1]/"
установка параметра осуществляется во время трансформации
 
Спасибо!
Тогда как корректно передавать динамический параметр из php в xslt, чтоб он был установлен как node-set?
 
пока никак =(( в этом жопа
параметрическое преобразование щас в PHP5 не поддерживает передачу DOMNodeset в качестве значения параметра
там только скалярные типы возможны к сожалению
 
Сверху