XSL трансформация
Добавлено: 10 мар 2008, 12:12
Всем доброго времени суток!
Недавно пришлось заниматься созданием меню с подменю, с теоретически бесконечным уровнем вложенности. Решил этот вопрос полностью на РНР, но как я понимаю этот вопрос может быть решен с помощью XML & XSL. Привожу пример XML файла.
<?xml version="1.0" encoding="WINDOWS-1251"?>
<?xml-stylesheet type='text/xsl' href='test1.xsl'?>
<menu>
<item>
<item id="1" title="menu 1" level_pos="0" order_pos="1" parent_id="0"></item>
</item>
<item>
<item id="2" title="menu 2" level_pos="0" order_pos="2" parent_id="0"></item>
</item>
<item>
<item id="3" title="sub menu 1" level_pos="1" order_pos="1" parent_id="2"></item>
</item>
<item>
<item id="4" title="menu 3" level_pos="0" order_pos="3" parent_id="0"></item>
</item>
<item>
<item id="5" title="sub menu 1 1" level_pos="2" order_pos="1" parent_id="3"></item>
</item>
</menu>
Вопрос - как его преобразовать в древовидное меню? Никто с этим не сталкивался?
Недавно пришлось заниматься созданием меню с подменю, с теоретически бесконечным уровнем вложенности. Решил этот вопрос полностью на РНР, но как я понимаю этот вопрос может быть решен с помощью XML & XSL. Привожу пример XML файла.
<?xml version="1.0" encoding="WINDOWS-1251"?>
<?xml-stylesheet type='text/xsl' href='test1.xsl'?>
<menu>
<item>
<item id="1" title="menu 1" level_pos="0" order_pos="1" parent_id="0"></item>
</item>
<item>
<item id="2" title="menu 2" level_pos="0" order_pos="2" parent_id="0"></item>
</item>
<item>
<item id="3" title="sub menu 1" level_pos="1" order_pos="1" parent_id="2"></item>
</item>
<item>
<item id="4" title="menu 3" level_pos="0" order_pos="3" parent_id="0"></item>
</item>
<item>
<item id="5" title="sub menu 1 1" level_pos="2" order_pos="1" parent_id="3"></item>
</item>
</menu>
Вопрос - как его преобразовать в древовидное меню? Никто с этим не сталкивался?