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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка существования элемента, по атрибуту 
:(
    Опции темы
Micher
Дата 14.2.2008, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.1.2006
Где: г. Ижевск

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



Всем привет! Вопрос думаю лёгкий, но разобраться не могу. Есть примерно такой XML:
Код

<Property id="12">
 <bid uId="19" time="11:00:00">12500</bid>
 <bid uId="822" time="11:05:00">13500</bid>
 <bid uId="252" time="18:55:00">25000</bid>
 <bid uId="19" time="19:58:00">29000</bid>
</Property>


Нужно узнать, есть ли в узле Property елементы bid с определённым значенем аттрибута uId. Ставлю примерно такое условие(в переменной $uId хранится определённое значение):
Код

<xsl:if test="boolean(bid/@uId = $uid)">
...
</xsl:if>


Заранее благодарен
PM MAIL   Вверх
Сумасшедший
Дата 14.2.2008, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чилавек-Каропка
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 15.8.2004
Где: Москва

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



А чем не устраивает то решение, что предложили вы?


--------------------
Однажды ты спросишь, а я отвечу: "Время ожидания специалиста - 10 минут". Ты бросишь трубку, так и не узнав, что Ваш звонок очень важен для нас!
PM MAIL WWW Jabber   Вверх
Micher
Дата 14.2.2008, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.1.2006
Где: г. Ижевск

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



Цитата(Сумасшедший @ 14.2.2008,  16:08)
А чем не устраивает то решение, что предложили вы?

Тем, что оно не работает)
PM MAIL   Вверх
Сумасшедший
Дата 14.2.2008, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чилавек-Каропка
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 15.8.2004
Где: Москва

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



Вот код:
Код
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:variable name="uid" select="19" />

<xsl:template match="/">
    <xsl:apply-templates select="Property" />
</xsl:template>

<xsl:template match="Property">
    <xsl:if test="boolean(./bid/@uId = $uid)">Есть</xsl:if>
</xsl:template>

</xsl:stylesheet>

С таким xml:
Код

<?xml version="1.0"?>
<Property id="12">
    <bid uId="822" time="11:05:00">13500</bid>
    <bid uId="19" time="11:00:00">12500</bid>
    <bid uId="252" time="18:55:00">25000</bid>
    <bid uId="119" time="19:58:00">29000</bid>
</Property>

выведет: есть
А с таким:
Код

<?xml version="1.0"?>
<Property id="12">
    <bid uId="822" time="11:05:00">13500</bid>
    <bid uId="252" time="18:55:00">25000</bid>
    <bid uId="119" time="19:58:00">29000</bid>
</Property>

ничего не выведет.
Тестировал на sablotron и xsltproc

Добавлено @ 17:11
Можно, конечно, ещё поизвращаться с xsl:key, но и без того, вроде всё работает.

Это сообщение отредактировал(а) Сумасшедший - 14.2.2008, 17:11


--------------------
Однажды ты спросишь, а я отвечу: "Время ожидания специалиста - 10 минут". Ты бросишь трубку, так и не узнав, что Ваш звонок очень важен для нас!
PM MAIL WWW Jabber   Вверх
Micher
Дата 14.2.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.1.2006
Где: г. Ижевск

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



Сумасшедший, спасибо огромное. Ошибка ужасная, ошибся в регистре, там uId переменная... Мда... Всё работает. Но топик может кому пригодится


Это сообщение отредактировал(а) Micher - 14.2.2008, 17:45
PM MAIL   Вверх
Сумасшедший
Дата 15.2.2008, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чилавек-Каропка
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 15.8.2004
Где: Москва

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



Пометьте вопрос как решённый)


--------------------
Однажды ты спросишь, а я отвечу: "Время ожидания специалиста - 10 минут". Ты бросишь трубку, так и не узнав, что Ваш звонок очень важен для нас!
PM MAIL WWW Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

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

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

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

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


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

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


 




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


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

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