На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ANDLL
  
> Сортировка по узлам двух уровней , <item::datetime><modifications:datetime>
    Привет гениальным парням! )
    есть такой 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 самого свежего вложенного товара (модификации)?
    я много чего перепробовал, уже чувствую тупик. Может быть есть идея?
      Извиняюсь, наверное уродливо предоставил 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
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0146 ]   [ 15 queries used ]   [ Generated: 28.03.24, 08:37 GMT ]