Можно ли внутри XSLT преобразования "обратится" к стороннему XML?

botan

Новичок
Можно ли внутри XSLT преобразования "обратится" к стороннему XML?

У меня самый общий вопрос. В XSLT понимаю пока плохо.
Допустим есть некое преобразование, которое получая на вход XML выдает HTML как многие наверное ни раз писали.
Допустим, что необходимо сделать следующее:
Внутри XSLT преобразоания дополнительно "вгрузить" в себя XML из стороннего источника.
Т.е. в XSLT формируется Path либо к HTTP-ресурсу, либо к лоальному файлу XML-файлу.
(где будет доступн этот "сторонний XML" - не важно).
Это можно как-либо умудрится сделать?

Сейчас, по сути даже XSLT-процессор значения не имеет. Можно даже не PHP.

З.Ы. Типо: "Ты не должен этого хотеть" или "зачем тебе это", лучше не говорите и не спрашивайте. Других вариантов решения поставленной задачи в природе не существует в виду несовершенной структуры мира.
 

Alexandre

PHPПенсионер
не уверен,
возможно использовать через XInclude подгрузить часть XSLT шаблона

иную часть XML динамически подгрузить нельзя (это не только для PHP но и для libxslt).

варианты - делать двухступенчатое преобразование,
или сразу формировать "полный" XML

хотя libxslt позволяет брать XML через HTTP.
 

botan

Новичок
Основная проблема - XSLT используется только 1 раз. Потому что это разработка сторонней компании где позволенно самому писать только XSLT преобразования, и сами входящие XML-ки.

Ну т.е. некая цмс-ка где внутри шаблона HTML-страницы, вставляется "hole", для которой выбирается соответствующий источник данных (XML) и XSLT преобразование к оному.

Проблема в том, что источник данных не содержит всех необходимых данных, а только пути к XML-файлам в которых лежат данные.

Идеальным вариантом была бы возможность считать данные из этого "внешнего" источника в переменную XSLT.

Насколько я понял, так не получится. Что ж, очень жаль, пойду найду стенку и самоубьюсь.
 

diztex

Новичок
botan
<xsl:variable name="path" select="path_to_xml.xml"/>
<xsl:variable name="TmpXML" select="document($path)"/>
?
Кстати, Scud дал ссылку, где данная задача решается.
 

null

Новичок
Чтобы не создавать новую тему задам вопрос здесь. Довольно таки чайниковый тоже.
Есть вот такая строка в XSLT
Код:
<xsl:copy-of select="document('http://www.remote.src/file.php')"/>
Трансформация производится в браузере (FireFox, IE6). XML, к которому подключен XSLT лежит на www.local.src. Этот самый www.local.src, как и www.remote.src, - это локальный «Денвер» (Apache, PHP 4.3, MySQL 4.1).
Так вот если написать
Код:
<xsl:copy-of select="document('http://www.local.src/file.php')"/>
ссылаясь на локальный файл, то ругани не будет, а если же написать так, как в примере выше, то отказано в доступе.

Отсюда вопрос: за что, почему и кому отказано?! И как это преодолеть. Потому, что очень хочется :)
 
Сверху