На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ANDLL
  
> Получить список всех xsl:variable?
    Привет. Наткнулся на еще одну проблему. Можно ли XPath-запросом получить список всех xsl:variables, видимых в точке вызова запроса? Суть проблемы - нужно прокинуть доступ к переменным в PHP-функцию, зареганную как XPath function extention.

    Приведу пример, посмотрите на этот фрагмент шаблона:

    ExpandedWrap disabled
      <xsl:for-each select="book">
          <xsl:value-of select="php:function('foo', node())" />
      </xsl:for-each>


    И на эту функцию:
    ExpandedWrap disabled
      function foo($node)
      {
          var_dump($node); // $node - это array из DOMNode, как я понимаю, эквивалентный XPath-запросу * в контексте вызова php:function.
          return 'bar';
      }


    Имея ноду имеем и ее агрегирующий документ - вот и весь фокус получения документа для шаблонизации из зарегистрированной PHP-функции в момент трансформации, плюс сама контекстная нода в момент вызова. Но кроме документа мне нужно получить еще и список всех xsl:variable, видимых в точке вызова этой функции. Если бы была какая-то готовая XPath-функция, то это могло бы выглядеть примерно вот так:

    ExpandedWrap disabled
      <xsl:for-each select="book">
          <xsl:value-of select="php:function('foo', node(), select-all-variables())" />
      </xsl:for-each>


    Но нагуглить решения, к сожалению, не удалось. Итак, возможно ли получить список всех переменных? Конечная цель - получить доступ к этим переменным из PHP-функции, зареганной как XPath extension.
    Сообщение отредактировано: W4C -
      Зачем тебе такой изврат ?
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0204 ]   [ 15 queries used ]   [ Generated: 27.04.24, 14:05 GMT ]