Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / for-each-group выражение в group-by / 3 сообщений из 3, страница 1 из 1
28.06.2010, 14:33
    #36711342
Мужик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
for-each-group выражение в group-by
Есть xml
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<xml>
  <items>
    <item id="1" group="A" />
    <item id="2" group="A" />
    <item id="3" group="B" />
    <item id="4" group="C" />
  </items>

  <refs>
    <item ref="1" />
    <item ref="2" />
    <item ref="4" />
  </refs>
</xml>

Нужно сгруппировать все элементы из секции ref по ключу group из секции items согласно атрибуту ссылке ref.
Пытаюсь писать xpath типа
Код: plaintext
1.
2.
<xsl:for-each-group select="xml/refs/item" group-by="/xml/items/item[@id=./@ref]/@group">
...

Но похоже, что он думает, что @ref лежит не в текущей ноде группы, а в ноде item. Сгенерить переменную и подставить ее значение тоже не получится, т.к. group-by нужно задать раньше, чем будет доступна эта переменная. Как быть? Совсем не хочется делать 2 преобразования и сначала добавлять атрибут group у всех элементов секции refs, а потом группировать по нему.
...
Рейтинг: 0 / 0
28.06.2010, 14:43
    #36711369
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
for-each-group выражение в group-by
...
Рейтинг: 0 / 0
28.06.2010, 20:22
    #36712003
Мужик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
for-each-group выражение в group-by
Спасибо, оно.
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / for-each-group выражение в group-by / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]