| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Denis Popov 16.12.2003 18:49 / 16.12.2003 19:00
Извиняюсь за оффтопик, но...<?xml version="1.0" encoding="WINDOWS-1251" standalone="no"?>
<navigation>
<page url="/" name="Главная страница" parent-id="0" id="1">
<window_name>Главная страница</window_name>
<url>/</url>
<is_show_on_site_map>1</is_show_on_site_map>
<is_show_in_menu>1</is_show_in_menu>
<page url="/contacs" name="Контакты" parent-id="1" id="2">
<window_name>Контакты</window_name>
<url>/contacs</url>
<is_show_on_site_map>1</is_show_on_site_map>
<is_show_in_menu>1</is_show_in_menu>
<page url="/service" name="Услуги" parent-id="2" id="7">
<window_name>Услуги</window_name>
<url>/service</url>
<is_show_on_site_map>1</is_show_on_site_map>
<is_show_in_menu>1</is_show_in_menu>
</page>
</page>
<page url="/forum" name="Форум" parent-id="1" id="3">
<window_name>Форум</window_name>
<url>/forum</url>
<is_show_on_site_map>1</is_show_on_site_map>
<is_show_in_menu>1</is_show_in_menu>
</page>
<page url="/press" name="Пресс-служба" parent-id="1" id="4">
<window_name>Пресс-служба</window_name>
<url>/press</url>
<is_show_on_site_map>1</is_show_on_site_map>
<is_show_in_menu>1</is_show_in_menu>
<page url="/news" name="Новости" parent-id="4" id="5">
<window_name>Новости</window_name>
<url>/news</url>
<is_show_on_site_map>1</is_show_on_site_map>
<is_show_in_menu>1</is_show_in_menu>
</page>
</page>
<page url="/about" name="О конторе" parent-id="1" id="6">
<window_name>О конторе</window_name>
<url>/about</url>
<is_show_on_site_map>0</is_show_on_site_map>
<is_show_in_menu>0</is_show_in_menu>
</page>
</page>
</navigation>Таким шаблоном создаем визуальное дерево : <?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="windows-1251" indent="yes"/>
<xsl:template match="navigation">
<div style="padding:10">
<xsl:apply-templates select="/navigation/page[@parent-id = 0]" />
</div>
</xsl:template>
<xsl:template match="/navigation/page[@parent-id = 0]">
<div>
<xsl:attribute name="style">padding-left: <xsl:value-of select="count(ancestor::page)*2"/> em</xsl:attribute>
<li/>
<a href="{url}">
<xsl:value-of select="@name" />
</a>
</div>
<xsl:apply-templates select="page[@parent-id != 0]" />
</xsl:template>
<xsl:template match="//page[@parent-id != 0]">
<div>
<xsl:attribute name="style">padding-left: <xsl:value-of select="count(ancestor::page)*2"/> em</xsl:attribute>
<li/>
<a href="{url}">
<xsl:value-of select="@name" />
</a>
</div>
<xsl:apply-templates select="page[@parent-id != 0]"/>
</xsl:template>
</xsl:stylesheet>Но у меня неполучаеться сделать самое главное - чтобы строились ссылки по вложенности.