xi:include

  • Автор темы Автор темы 3erg
  • Дата начала Дата начала

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 ?
 
спасибо

-~{}~ 22.10.04 18:34:

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

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