Построение меню

Есть xml с будущим меню:

Код XML
    <root>
        <dbInfo>
            <RubricList>
                <Element id="2">
                    <Title>Любовь и секс</Title>
                    <SubRubricList>
                        <Element id="14">
                            <Title>Отношения</Title>
                        </Element>
                        <Element id="15">
                            <Title>Знакомства</Title>
                        </Element>
                        <Element id="16">
                            <Title>Секс</Title>
                        </Element>
                    </SubRubricList>
                </Element>
                <Element id="1">
                    <Title>Звезды</Title>
                    <SubRubricList>
                        <Element id="10">
                            <Title>Истории успеха/интервью</Title>
                        </Element>
                        <Element id="11">
                            <Title>Светская хроника (сплетни)</Title>
                        </Element>
                        <Element id="12">
                            <Title>Свежие фото</Title>
                        </Element>
                        <Element id="13">
                            <Title>Звездный стиль</Title>
                        </Element>
                    </SubRubricList>
                </Element>
                <Element id="3">
                    <Title>Красота</Title>
                    <SubRubricList>
                        <Element id="17">
                            <Title>Мода и стиль</Title>
                        </Element>
                        <Element id="18">
                            <Title>Макияж и косметика</Title>
                        </Element>
                        <Element id="19">
                            <Title>Пластика и косметология</Title>
                        </Element>
                            <Element id="20">
                        <Title>Волосы</Title>
                            </Element>
                        <Element id="21">
                            <Title>Ногти</Title>
                        </Element>
                        <Element id="22">
                            <Title>Тело</Title>
                        </Element>
                        <Element id="23">
                            <Title>Парфюмерия</Title>
                        </Element>
                    </SubRubricList>
                </Element>
                <Element id="4">
                    <Title>Здоровье</Title>
                    <SubRubricList>
                        <Element id="24">
                            <Title>Похудение (диеты, фитнес)</Title>
                        </Element>
                        <Element id="25">
                            <Title>Женское здоровье (женская консультация)</Title>
                        </Element>
                        <Element id="26">
                            <Title>Народная медицина</Title>
                        </Element>
                        <Element id="27">
                            <Title>Первая медицинская помощь</Title>
                        </Element>
                        <Element id="28">
                            <Title>Целительство</Title>
                        </Element>
                    </SubRubricList>
                </Element>
                <Element id="5">
                    <Title>Семья и дом</Title>
                    <SubRubricList>
                        <Element id="29">
                            <Title>Моя семья</Title>
                        </Element>
                        <Element id="30">
                            <Title>Кулинария</Title>
                        </Element>
                        <Element id="31">
                            <Title>Интерьер</Title>
                        </Element>
                        <Element id="32">
                            <Title>Строительство</Title>
                        </Element>
                        <Element id="33">
                            <Title>Ремонт</Title>
                        </Element>
                        <Element id="34">
                            <Title>Растения</Title>
                        </Element>
                        <Element id="35">
                            <Title>Дача</Title>
                        </Element>
                        <Element id="36">
                            <Title>Домашние животные</Title>
                        </Element>
                    </SubRubricList>
                </Element>
                <Element id="6">
                    <Title>Дети</Title>
                    <SubRubricList>
                        <Element id="37">
                            <Title>Беременность</Title>
                        </Element>
                        <Element id="38">
                            <Title>Уход за грудным ребенком</Title>
                        </Element>
                        <Element id="39">
                            <Title>Здоровье</Title>
                        </Element>
                        <Element id="40">
                            <Title>Образование</Title>
                        </Element>
                        <Element id="41">
                            <Title>Детская психология</Title>
                        </Element>
                        <Element id="42">
                            <Title>Детский досуг и развлечения</Title>
                        </Element>
                    </SubRubricList>
                </Element>
                <Element id="7">
                    <Title>Карьера</Title>
                    <SubRubricList>
                        <Element id="43">
                            <Title>Поиск работы</Title>
                        </Element>
                        <Element id="44">
                            <Title>Обучение/повышение квалификации</Title>
                        </Element>
                    </SubRubricList>
                </Element>
                <Element id="8">
                    <Title>Отдых</Title>
                    <SubRubricList>
                        <Element id="45">
                            <Title>Путешествия</Title>
                        </Element>
                        <Element id="46">
                            <Title>Хобби</Title>
                        </Element>
                        <Element id="47">
                            <Title>Кино</Title>
                        </Element>
                        <Element id="48">
                            <Title>Афиша</Title>
                        </Element>
                    </SubRubricList>
                </Element>
                <Element id="9">
                    <Title>Астрология</Title>
                    <SubRubricList>
                        <Element id="49">
                            <Title>Гадания/предсказания</Title>
                        </Element>
                        <Element id="50">
                            <Title>Гороскопы</Title>
                        </Element>
                        <Element id="51">
                            <Title>Астрология</Title>
                        </Element>
                        <Element id="52">
                            <Title>Тесты</Title>
                        </Element>
                        <Element id="53">
                            <Title>Нумерология</Title>
                        </Element>
                        <Element id="54">
                            <Title>Толкования снов</Title>
                        </Element>
                    </SubRubricList>
                </Element>
            </RubricList>
        </dbInfo>
    </root>

А теперь получаем меню вида таблица -> строка -> ячейка с дивом-подменю

Код XSL
    <xsl:template name="topMenu">    
        <div id="blockWithTopMenu">
            <table cellpadding="0" cellspacing="0" width="100%" id="nav">
                <tr>
                    <xsl:for-each select="/root/dbInfo/RubricList/Element">
                        <td class="topMenu_{position()}">
                            <xsl:choose>
                                <xsl:when test="descendant-or-self::*/@id = /root/srvInfo/RubricId">
                                    <a class="topMenuActivLink" href="/rubrics/{@id}.htm">
                                        <xsl:value-of select="Title" />
                                    </a>
                                </xsl:when>
                                <xsl:otherwise>
                                    <a href="/rubrics/{@id}.htm">
                                        <xsl:value-of select="Title" />
                                    </a>
                                </xsl:otherwise>
                            </xsl:choose>
                            <div>                            
                                <xsl:for-each select="SubRubricList/Element">
                                    <xsl:choose>
                                        <xsl:when test="/root/srvInfo/RubricId = @id">
                                            <span>
                                                <xsl:value-of select="Title" />
                                            </span>
                                        </xsl:when>
                                        <xsl:otherwise>
                                            <a href="/rubrics/{@id}.htm">
                                                <xsl:value-of select="Title" />
                                            </a>
                                        </xsl:otherwise>
                                    </xsl:choose>
                                </xsl:for-each>
                            </div>
                        </td>
                    </xsl:for-each>
                </tr>
            </table>
        </div>
    </xsl:template>
Вверх