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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы в for-each, проблема не хочет выводить по атрибуту 
V
    Опции темы
AlexWar13
Дата 20.6.2011, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



дела обстоят следующим образом. Есть xml файл, к примеру такой:
Код

<!--xml-files -->
<root>
      <child>
           <a id="1" name = "f"/ >
           <a id="2" name = "c"/>
      </child>
      <child1>
           <t name = "f"/>
           <t name = "c"/>
      </child1>
</root>


так вот я хочу пробежать циклом по тегу <a> и по соотвествующему атрибуту name получить доступ к элементам t. Пытаюсь делать так:
Код

<!-- xsl code-->
<xsl:for-each select="//a">
          <xsl:copy-of select="//t[@name = &quot;string(@name)&quot;]"/>  - почему не работает ?) ведь это же равносильно (@name = "f(c)")        
</xsl:for-each>


Вот разбираюсь уже 3 день, не пойму почему не хочет работать :(
PM MAIL   Вверх
diadiavova
Дата 20.6.2011, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Цитата(AlexWar13 @  20.6.2011,  19:45 Найти цитируемый пост)
почему не работает ?) ведь это же равносильно (@name = "f©")  

используй одинарные кавычки, хслт воспринимает объекты подстановки, как символы, которые они заменяют. Это ведь тоже хмл.

Хотя в твоем случае проблема вовсе не в этом. Вся эта странная конструкция тебе ничего не даст. Если надо получить доступ к атрибуту элемента a, то тебе сначала придется сохранить его в элементе variable.
Код

<!-- xsl code-->
<xsl:for-each select="//a">
          <xsl:variable name="a_name" select="@name" />
          <xsl:copy-of select="//t[@name = $a_name]"/>
</xsl:for-each>



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
AlexWar13
Дата 21.6.2011, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо большое, выручил smile жалко что не могу пока репутацию поднять smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

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

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

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

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


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

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


 




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


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

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