xi:include

3erg

Новичок
xi:include

запутался с includ'ом :confused:
ситуация следующая, имею например результат генирации xml через domxml_new_doc для :

content.xml:
<?xml version="1.0" ?>
<document>
<content xmlns:xi="http://www.w3.org/2003/XInclude"
>
<xi:include href="menu.xml" />
......
</content>
</document>

menu.xml:
<menu>
<item link="1">bla bla</item>
<item link="2">bla bla</item>
</menu>

затем вывожу в html через xsl по средствам sablotron.
Как описывать xsl для вложенного menu.xml ?
 

3erg

Новичок
спасибо

-~{}~ 22.10.04 18:34:

Возник вопрос :)
в чем отличие вложений xi:include от вложений через трансформацию в xsl:
http://phpclub.ru/talk/showthread.php?s=&threadid=57095&rand=4
там во втором примере как раз описано через xpath, а не то что я пытаюсь сделать через сабж.

Какой метод грамотней. Или тут сугубо по ситуации смотреть надо?
 

3erg

Новичок
Автор оригинала: chameleon
во втором случае поднимаешь отдельный механизм для этого, чуешь разницу?
разница понятна :)... из ваших рассуждений получается , что xi:include не понятен для интерпритатора как вложение без использования трансформации?
 

chameleon

Новичок
xi:include не понятен для интерпритатора как вложение без использования трансформации
что-то не туда...
две различные технологии трансформации исходного дерева в результирующее (в случае с xinclude правильнее скорее "аггрегации"), одно существенно проще другого. В грубой аналогии как модули PHP и SSI. ни XSLT-процессор, ни XML-парсер *не обязаны* делать XInclude, который является отдельным процессом и может быть выполнен когда угодно.
Применение document() или xinclude-инструкций нужно выбирать действительно от конкретной задачи: ежели тебе просто нужно составить один большой документ из нескольких, то использование XSLT немного из области "пушки по воробьям", но если тебе все равно нужно трансформировать, то трансформируй без процессинга включений, а потом прогони через XInclude, либо применяй document(). Короче ты понял, что решать тебе? ;)..
 
Сверху