ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Рекурсия в XML-документе через XSLT
  #1  
Старый 07.05.2009, 09:03
Аватар для Kuzya
Kuzya
Участник форума
Регистрация: 27.04.2008
Сообщений: 224
Провел на форуме:
140661

Репутация: 313
Arrow Рекурсия в XML-документе через XSLT

Есть xml-документ представляющий из себя что-то типа древа файлов.
Пример:
Код:
<root>
<dir name="dir1" />
<dir name="dir2" />
<dir name="dir3" >
    <file name="file1.ext" />
    <file name="file2.ext" />
    <file name="file3.ext" />
    <dir name="dir4" >
        <file name="file4.ext" />
    </dir>
</dir>
</root>
Как видите - описаны директории и входящие в них файлы/папки. Нужно каким то образом с помощью XSLT привести эту информацию в HTML-вид с сохранением порядка расположения в документе. Я попробовал следующие правила (пишу на память)
Код:
<xsl:tempate match="dir">
<b><xsl:apply-templates /></b>
</xsl:template>
<xsl:tempate match="file">
<i><xsl:apply-templates /></i>
</xsl:template>
Типа все директории выделяем жирным,а файлы - курсивом. Но так обрабатываются только корневые элементы. Вложенные же остаются без внимания. Появилась идея обходить через for-each-конструкцию каждый тег и проверять есть ли в нём вложенные элементы. Если есть то проверять эти элементы так же с помощью for-each и т.д. То есть что-то типа рекурсии с for-each. Но как это сделать ума не приложу. Если можно было бы описывать в XSLT что ни будь типа функций то проблема решилась бы сразу. Порылся в книжках по XML+XSLT, но не нашёл ничего нужного. Может я вообще не в том направлении копаю, или просто знаний мало? Помогите пожалуйста разобраться.
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Продам акки вконтакте [FREE] Покупка, продажа, услуги в Соц. Сетях 57 27.03.2009 22:08
Active Perl через проксю Elekt Анонимность 7 10.03.2008 22:14
W3c выпустил обновлённые спецификации стандарта Xml TTN_ Мировые новости 0 21.08.2006 21:28
Взлом через cookie k00p3r Чужие Статьи 0 13.06.2005 13:56
Получение шела через Cgi приложения k00p3r Чужие Статьи 0 08.06.2005 15:04



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ