На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
Модераторы: Pr0[)!9Y, 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,0750 ]   [ 17 queries used ]   [ Generated: 20.06.19, 07:50 GMT ]