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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Qpath in XSLT, Из дерева xml взять нужный атрибут 
V
    Опции темы
Ruslan_
Дата 3.5.2006, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Объявление переменной в шаблоне (подключение дерева из нового файла).
Код

<xsl:variable name="menuTree" select="document(Имя_файла)" as="document-node()"/>

Пример содержания файла "Имя_файла"
Код

<Menu1 section="section" section-name="Раздел">
  <Menu2 section="section1" section-name="Раздел1">
    <Menu3 section="section11" section-name="Раздел11"/>
    <Menu3 section="section12" section-name="Раздел12"/>
  </Menu2>
  <Menu2  section="section2" section-name="Раздел2">
    <Menu3 section="section21" section-name="Раздел21"/>
    <Menu3 section="section22" section-name="Раздел22"/>
  </Menu2>
  <Menu2 section="section3" section-name="Раздел3"/>
</Menu1>

Из этого файла нужно извлечь аттрибут section-name у элемента, имеющего атрибут section, равный какому-то конкретному значению.
Например:
Извлечь атрибут section-name у элемента (этим элементом может быть Menu1, Menu2, Menu3), у которого атрибут section="section11".
Код

<xsl:value-of select="$menuTree/Menu1//@section-name[??может здесь что-то написать???@section=section11]"/>

 
PM   Вверх
maxim1000
Дата 3.5.2006, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



ну, например, так:
Код

select="$menuTree//@section-name[../@section='qqq']"

или более аккуратно:
Код

select="$menuTree//(Menu1 | Menu2 | Menu3)[@section='qqq']/@section-name"

правда, в этом я уже не так уверен... 


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


Шустрый
*


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

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



Спасибо, maxim1000! 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

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

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

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

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


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

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


 




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


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

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