выбор узлов структуры 4-ого уровня

#
выбор узлов структуры 4-ого уровня
Подскажите пожалуйста, как выбрать узлы структуры 4-ого уровня вложенности?
Заранее спасибо.

Прилагаю свой 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="/document">
      <xsl:apply-templates select="structure[show=1]"/>
      
   </xsl:template>
   
   <xsl:template match="structure">
      <!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
      <xsl:variable name="current_structure_id" select="/document/structure/current_structure_id"/>
      
      <SCRIPT LANGUAGE='javascript'>
         <xsl:text> $(document).ready(function(){
            
         $("#column</xsl:text>
         <xsl:value-of select="@id"/>
         <xsl:text>").hide();
         $("#megaanchor</xsl:text>
         <xsl:value-of select="@id"/>
         <xsl:text>").show();
            
         $("#megaanchor</xsl:text>
         <xsl:value-of select="@id"/>
         <xsl:text>").click(function(){
            
         $("#column</xsl:text>
         <xsl:value-of select="@id"/>
         <xsl:text>").slideToggle(1);
            
            $(".column").hide() ;
            });
            
            });
            
            
            
            
            
      </xsl:text></SCRIPT>
      <SCRIPT LANGUAGE='javascript'><xsl:text>
            var current = null;
            function check(obj) {
            if(obj==current){
            obj.className = 'megaanchor';
            current = null;
            }else{
            obj.className = 'megaanchor1';
            if (current!=null){
            current.className = 'megaanchor';
            }
            current = obj;
            }
            }
            
      </xsl:text></SCRIPT>
      
<xsl:variable name="link"><xsl:choose><xsl:when test="is_external_link=1"><xsl:value-of disable-output-escaping="yes" select="external_link"/></xsl:when><xsl:otherwise><xsl:value-of disable-output-escaping="yes" select="link"/></xsl:otherwise></xsl:choose></xsl:variable>
   <div class="megaanchor" id="megaanchor{@id}" onclick="check(this);"><a><xsl:value-of disable-output-escaping="yes" select="name"/></a></div>
      <xsl:if test="count(structure[show = 1]) &gt; 0">
         
         <div class="column" id="column{@id}">
            
            <xsl:apply-templates select="structure[show=1]" mode="pool"/>
            
      </div>       </xsl:if>
   </xsl:template>
   
   <xsl:template match="structure" mode="pool">
      
      
      
      <SCRIPT LANGUAGE='javascript'>
         <xsl:text>
            $(document).ready(function () {
         $('#megamenu</xsl:text><xsl:value-of select="@id"/><xsl:text> li').hover(
            function () {
            var maxLeft = $('.header').width(),
         el = $('#level</xsl:text>
         <xsl:value-of select="@id"/>
         <xsl:text>', this);
            
            if ( el.find('a').length != 0 ) {
            el.show();
            if ( Math.max(0, el[0].offsetLeft - ( maxLeft - el[0].offsetWidth ) ) != 0 ) {
            el.css("left", (maxLeft - el[0].offsetWidth) + "px");
            }
            //показать подменю
            el.hide().slideDown(0);
            }
            },
            function () {
            //скрыть подменю
            $('.level', this).slideUp(0);
            }
            );
            });
      </xsl:text></SCRIPT>
      
      <xsl:choose>
         
         <xsl:when  test="count(structure[show = 1]) &gt; 0">
            
            
            
            
   <ul id="megamenu{@id}" class="megamenu"><li><xsl:variable name="link"><xsl:choose><xsl:when test="is_external_link=1"><xsl:value-of disable-output-escaping="yes" select="external_link"/></xsl:when><xsl:otherwise><xsl:value-of disable-output-escaping="yes" select="link"/></xsl:otherwise></xsl:choose></xsl:variable>
                  <a href="{$link}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
                  
                  <ul id="level{@id}" class="level"><li>
                        <xsl:apply-templates select="structure[show=1]" mode="sub"/>
                        </li>               
                        <xsl:apply-templates select="structure[show=0]" mode="sub"/>

                        </ul>
            </li></ul>
         </xsl:when>
         
         <xsl:otherwise>
            
   <ul id="megamenu{@id}" class="megamenu"><li><xsl:variable name="link"><xsl:choose><xsl:when test="is_external_link=1"><xsl:value-of disable-output-escaping="yes" select="external_link"/></xsl:when><xsl:otherwise><xsl:value-of disable-output-escaping="yes" select="link"/></xsl:otherwise></xsl:choose></xsl:variable>
               <a href="{$link}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
                  
                  <ul id="level{@id}" class="level"><li>
                        <xsl:apply-templates select="structure[show=0]" mode="sub"/>
                        
                     </li>
                     
<xsl:apply-templates select="structure[show=1]" mode="sub"/>                  </ul>
         </li></ul>         </xsl:otherwise>
         
          <div class="column1">
            
   <xsl:variable name="link"><xsl:choose><xsl:when test="is_external_link=1"><xsl:value-of disable-output-escaping="yes" select="external_link"/></xsl:when><xsl:otherwise><xsl:value-of disable-output-escaping="yes" select="link"/></xsl:otherwise></xsl:choose></xsl:variable>
            <a href="{$link}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
         </div>
         
      </xsl:choose>
      
   </xsl:template>
   
   <xsl:template match="structure" mode="sub">
      <li>
<xsl:variable name="link"><xsl:choose><xsl:when test="is_external_link=1"><xsl:value-of disable-output-escaping="yes" select="external_link"/></xsl:when><xsl:otherwise><xsl:value-of disable-output-escaping="yes" select="link"/></xsl:otherwise></xsl:choose></xsl:variable>
         <a href="{$link}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
         
      </li>
      
   </xsl:template>
</xsl:stylesheet>
#
Re: выбор узлов структуры 4-ого уровня
petrocollege писал(а):
как выбрать узлы структуры 4-ого уровня вложенности?
- только четвертого? Если да, то вместо:
<xsl:apply-templates select="structure[show=1]"/>

используйте:
<xsl:apply-templates select="structure[show=1 and level=3]"/>
level = 3 потому что нумерация уровней начинается с 0.
#
Re: выбор узлов структуры 4-ого уровня
natalya,

Если я использую:
<xsl:apply-templates select="structure[show=1 and level=3]"/>

то вообще не выводит 4-ый уровень

Нужно не только 4-ый уровень выводить, а использовать вместе с 3-им на одном уровне!
#
Re: выбор узлов структуры 4-ого уровня
Немного переделал шаблон и все получилось.
Спасибо.
Авторизация