Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.166.98] |
|
Сообщ.
#1
,
|
|
|
Привет гениальным парням! )
есть такой XML - список товаров с вложенными вариантами товаров, у товара может быть несколько вариантов. И у материнского товара и дочернего(вариант, модификация) - есть поле таймера ------------------------------------------------- <item> <datetime> <item> <datetime> <item> <datetime>07.08.2014 10:11:59</datetime> <modifications> <item> <datetime>07.08.2014 10:14:29</datetime> <item> <datetime ....> <item> <datetime.....> <item> <datetime> <item> ---------------------------------------------------- возможно ли средствами XSL отсортировать все товары Item таким образом, чтобы: если попадается товар с вложенными модификациями, то в качестве ключа сортировки datetime материнского товара подставлялся datetime самого свежего вложенного товара (модификации)? я много чего перепробовал, уже чувствую тупик. Может быть есть идея? |
Сообщ.
#2
,
|
|
|
Извиняюсь, наверное уродливо предоставил XML, оригинальный xml чрезмерно большой, там десятки полей и атрибутов, я взял основное, ну я надеюсь, что очевидно:
2-х уровневое дерево - список items, но у некоторых item есть вложенный список modifications. 1-й уровень item/datetime 2-й уровень item/modifications/item/datetime Сейчас сортировка работает по item/datetime, Задача: Если <xsl:when test="count(modifications/item) > 0"> то вместо ключа item/datetime выдать что-то типа last(item/modifications/item/datetime) <xsl:otherwise> ключ сортировки тот-же - item/datetim поле datetime - это как пример, вместо него можно и по параметру ID, но построить такой принцип сортировки я не смог найти имеющимися средствами xPath и собственно XSL |