Подскажите пожалуйста, как выбрать узлы структуры 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]) > 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]) > 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>