Новости | 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>Но у меня неполучаеться сделать самое главное - чтобы строились ссылки по вложенности.