Xpoint
   [напомнить пароль]

Сложная группировка

Метки: [без меток]
2007-11-20 17:45:03 [обр] Zmeyc[досье]
сообщение промодерировано

Уже всю голову сломал, ничего не выходит.

Есть такой XML:

<list>
   <item id="111" root_id="111" parent_id="0" lev="0">text 1</item>
   <item id="222" root_id="111" parent_id="111" lev="1">text 2</item>
   <item id="333" root_id="333" parent_id="0" lev="0">text 3</item>
   <item id="444" root_id="444" parent_id="0" lev="0">text 4</item>
   <item id="555" root_id="444" parent_id="444" lev="1">text 5</item>
   <item id="666" root_id="444" parent_id="555" lev="2">text 6</item>
   <item id="777" root_id="444" parent_id="555" lev="2">text 7</item>
   <item id="888" root_id="444" parent_id="444" lev="1">text 8</item>
   <item id="999" root_id="444" parent_id="444" lev="1">text 9</item>
   <item id="000" root_id="000" parent_id="0" lev="0">text 0</item>
</list>

Из него должно получиться:

<ul>
   <li>
      text 1
      <ul>
         <li>
            text 2
         </li>
      </ul>
   </li>
   <li>
      text 3
   </li>
   <li>
      text 4
         <ul>
            <li>
               text 5
               <ul>
                  <li>
                     text 6
                  </li>
                  <li>
                     text 7
                  </li>
               </ul>
            </li>
            <li>
               text 8
            </li>
            <li>
               text 9
            </li>
         </ul>
   </li>
   <li>
      text 0
   </li>
</ul>

Группировка Мюнха не дает вложенности, там каждый item сам по себе.

спустя 1 час 37 минут [обр] Алексей Севрюков(14/1280)[досье]
Да у Вас вообще все непонятно, parent_id="0" есть, а соответствующего ему id="0" нету. Есть только id="000", Вы уверены обрабатываете их как числа?
спустя 3 минуты [обр] Zmeyc[досье]

parent_id="0" получается для всех элементов нулевого уровня

я группирую методом Мюнха с ключом

<xsl:key name="root_id" match="item" use="@root_id"/>
спустя 2 минуты [обр] Zmeyc[досье]
Прошу прощения, в теге <list> тоже есть root_id, то есть <list root_id="0">
Это что-то меняет?
спустя 58 минут [обр] Алексей Севрюков(14/1280)[досье]
А причем тут вообще группировка? Вам из плоской структуры надо сделать дерево. Группировкой тут и не пахнет.
спустя 1 минуту [обр] Zmeyc[досье]
Хотя бы намекните, в какую сторону копать. А если линк дадите, благодарности моей не будет границ.
спустя 7 минут [обр] Алексей Севрюков(14/1280)[досье]
спустя 13 минут [обр] Zmeyc[досье]
Да, спасибо большое. Не в ту сторону копал... ну что ж, будет два туннеля.
Powered by POEM™ Engine Copyright © 2002-2005