XSLT преобразование

#
XSLT преобразование
Есть список групп и подгрупп ИМ
Как через Xslt вывести их последовательно :

Группа1
Группа2
Группа3
Подгруппа1
Подгруппа2
Подгруппа3
Группа4
Группа5
Группа6
Подгруппа4
Подгруппа5
Подгруппа6

И т.д.
Что-то не могу сообразить никак.
Подскажите пожалуйста кто знает как?
skype: mcross82
#
Re: XSLT преобразование
Смотрите шаблон карты сайта
#
Re: XSLT преобразование
Там стандартный вывод, который меня не интересует.
skype: mcross82
#
Re: XSLT преобразование
Имеется XSL шаблон:  
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
   
   <!-- МагазинГруппыТоваровНаГлавной -->
   
   <xsl:template match="/">
      <xsl:apply-templates select="/shop"/>
   </xsl:template>
   
   <xsl:variable name="n" select="number(3)"/>
   
   <!-- Шаблон для магазина -->
   <xsl:template match="/shop">
      <div class="group_list_m">
            <xsl:apply-templates select="shop_group[position() mod $n = 1]"/>
            <div class="clear"></div>
      </div>
   </xsl:template>
   
   <!-- Шаблон для групп товара -->
   <xsl:template match="shop_group">
      <div class="sub-main">
         <xsl:for-each select=". | following-sibling::shop_group[position() &lt; $n]">
            <div id="group_{shop_group/@id}" class="group_list_item" data-visible="none">
               .....
            </div>
            <!-- Если есть подгруппы -->
            <div style="display: none;" id="sub-level-1" class="sub_group_{shop_group/@id} sub-level-1">
               <xsl:apply-templates select="shop_group" mode="subgroup"/>
            </div>               
         </xsl:for-each>         
      </div>
   </xsl:template>
   
   <!-- Шаблон для групп товара -->
   <xsl:template match="shop_group" mode="subgroup">
      <div>
         <div class="sub_group_{shop_group/@id} sub-level-2">
            <xsl:apply-templates select="shop_group" mode="subgroup-2"/>
         </div>
      </div>
   </xsl:template>
   
   
   <xsl:template match="shop_group" mode="subgroup-2">
      <div class="sub_li_list-2">
         <xsl:if test="position() != 1">
            <xsl:attribute name="class">sub_li_list-2 bordered-top</xsl:attribute>
         </xsl:if>         
         <!-- Если есть подгруппы -->
         <xsl:if test="shop_group">
            <!-- выводим подгруппы 3 уровня -->
            <xsl:if test="count(ancestor::*) &lt; 3">
               <div class="sub_group_list_2">
                  <xsl:apply-templates select="shop_group" mode="subgroup-2"/>
               </div>
            </xsl:if>
         </xsl:if>
      </div>
   </xsl:template>
</xsl:stylesheet>


Который выводит в таком виде группы и их подгруппы
<div class="group_list_m">
   <div class="sub-main">
      <div id="group_1" class="group_list_item" data-visible="none">
      </div>
      <div id="sub-level-1" class="sub_group_1 sub-level-1">
      </div>
      <div id="group_2" class="group_list_item" data-visible="none">
      </div>
      <div id="sub-level-1" class="sub_group_2 sub-level-1">
      </div>
      <div id="group_3" class="group_list_item" data-visible="none">
      </div>
      <div id="sub-level-1" class="sub_group_3 sub-level-1">
      </div>      
   </div>
   <div class="sub-main">
      <div id="group_4" class="group_list_item" data-visible="none">
      </div>
      <div id="sub-level-1" class="sub_group_4 sub-level-1">
      </div>
      <div id="group_5" class="group_list_item" data-visible="none">
      </div>
      <div id="sub-level-1" class="sub_group_5 sub-level-1">
      </div>
      <div id="group_6" class="group_list_item" data-visible="none">
      </div>
      <div id="sub-level-1" class="sub_group_6 sub-level-1">
      </div>      
   </div>   
</div>

Суть в том, что нужно выводить подгруппы после групп :
<div class="group_list_m">
   <div class="sub-main">
      <div id="group_1" class="group_list_item" data-visible="none">
      </div>
      <div id="group_2" class="group_list_item" data-visible="none">
      </div>
      <div id="group_3" class="group_list_item" data-visible="none">
      </div>
      <div id="sub-level-1" class="sub_group_1 sub-level-1">
      </div>   
      <div id="sub-level-1" class="sub_group_2 sub-level-1">
      </div>      
      <div id="sub-level-1" class="sub_group_3 sub-level-1">
      </div>      
   </div>
   <div class="sub-main">
      <div id="group_4" class="group_list_item" data-visible="none">
      </div>
      <div id="group_5" class="group_list_item" data-visible="none">
      </div>
      <div id="group_6" class="group_list_item" data-visible="none">
      </div>
      <div id="sub-level-1" class="sub_group_4 sub-level-1">
      </div>
      <div id="sub-level-1" class="sub_group_5 sub-level-1">
      </div>      
      <div id="sub-level-1" class="sub_group_6 sub-level-1">
      </div>      
   </div>   
</div>


Подскажите кто знает как это сделать?
skype: mcross82
Авторизация