Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Путь к узлу цикла из другого узла, для текущего значения цикла 
V
    Опции темы
starmaster
Дата 25.3.2006, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 29.3.2004

Репутация: нет
Всего: нет



Есть вот такой, примерно, xml-документ:

Код

<root>

<groups>
<item>
 <id>1</id>
 <value>value #1</value>
</item>

<item>
 <id>2</id>
 <value>value #2</value>
</item>
...
</groups>

<ccat>
 <item>
  <name>name #1</name>
  <model>model #1</model>
  <category_id>1</category_id>
 </item>

 <item>
  <name>name #2</name>
  <model>model #2</model>
  <category_id>2</category_id>
 </item>
</ccat>

</root>


В XSLT есть цикл для выборки каждой ccat/item:

<xsl:for-each select="/root/ccat/item">
...
</xsl:for-each>

Внутри этого цикла требуется выбрать то значение groups/item/value для которого id = category_id (для данной позиции цикла). Всё бы хорошо:

<xsl:value-of select="/root/groups/item[id = category_id]/value"/>

Но единственная проблема, что category_id тут распознаётся как будто он пренадлежит /root/groups/item. Как правильно указать путь к значению цикла, то есть чтобы id = /root/ccat/item/category_id текущей позиции цикла, а не первой позиции?

Это сообщение отредактировал(а) starmaster - 25.3.2006, 14:37
PM MAIL WWW ICQ   Вверх
maxim1000
Дата 25.3.2006, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 7
Всего: 110



первое, что пришло в голову - переменная:
Код

<xsl:variable name="qqq" select="category_id"/>
<xsl:value-of select="/root/groups/item[id=$qqq]/value"/>


Это сообщение отредактировал(а) maxim1000 - 25.3.2006, 17:35


--------------------
qqq
PM WWW   Вверх
starmaster
Дата 25.3.2006, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 29.3.2004

Репутация: нет
Всего: нет



maxim1000,

Да, именно это, спасибо! :-)
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0562 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.