многопроходная XSLT трансформация

BeGe

Вождь Апачей, блин (c)
Можно ли реализовать многопроходность на сервере - запуском одного xslt на один документ xml - без промежуточных результатов ?
 

slach

Новичок
многопроходность в моем понимании... как раз и подразумевает НЕСКОЛЬКО раз натравилвать XSLT процессор на документ =)

-~{}~ 22.12.04 19:02:

но вообще, если процессор каким нибудь хитрым образом позволяет обратиться к результирующему дереву во время выполнения трансформации... то почему нет...

насколько я знаю libxslt такого не позволяет, но лучше пошерстить документацию на этот счет
 

kuv

Guest
А мне вот как раз эта ***проходность нужны в браузере, очень.... Люди если кто знает подскажите как сделать?
 

slach

Новичок
kuv, под MSIE - XML Islands + ActiveXObject от MSXML4.DOMDocument
и т.п.

под мозиллой наверняка тоже чтото подобное есть

в общем только JavaScript'ом...

Опера XSLT не умеет
 

neko

tеam neko
народ
что такое в вашем понимании "многопроходность"
скормить результат трансформации на новую трансформацию?
какая проблема?

-~{}~ 23.12.04 11:06:

А мне вот как раз эта ***проходность нужны в браузере, очень.... Люди если кто знает подскажите как сделать?
у меня такое ощущение что это навсегда останется очевидным упущением в имплементации браузеров
из той же серии ляпов что и logout в браузерной авторизации ;-)
 

timur-kar

Новичок
народ
что такое в вашем понимании "многопроходность"
скормить результат трансформации на новую трансформацию?
какая проблема?
Как это сделать при помощи PHP-скрипта, без include'а в xslt шаблоне ?
В смысле как наложить 2 XSL на один XML (при том что оба XSL должны выдавать HTML)
 

neko

tеam neko
timur-kar
бессмыслица
xml + xsl = xml
эту операцию можно повторять сколько захочешь
причем тут include, html и все прочее?
 

timur-kar

Новичок
neko
Я хочу чтобы оба шаблона генерировали HTML.
К примеру - есть один генеральный шаблон сайта, а есть шаблон конкретной страницы. Есть один XML файл с данными конкретной страницы. Хочется после обработки получить один HTML представляющий собой генеральный шаблон, обработанный с учетом шаблона конкретной страницы.
Но при такой задаче и тот и другой шаблоны должны выдавать HTML, а если выдавать XML после одного из них - то ничего не получается. Или я что-то неправильно понял и это не многопроходность ?
 

timur-kar

Новичок
Вот кстати интересно было бы узнать. Что-же все-таки значит эта многопроходность которая есть на серверной части и нет на клиентской, и которой некоторым в клиентской части не хватает
 

neko

tеam neko
человек хочет к результату трансформации применить еще один шаблон
 

slach

Новичок
вы отклонились от первоначальной темы
выношу в отдельный топик
 

BeGe

Вождь Апачей, блин (c)
Есть достаточно большой xml документ со сложной структурой.

И задача получить данные из этого документа, так вот вопрос
пойдя первый раз мы получаем данные одного типа (получить данные второго типа не возможно) и вот хочется пройти по уже отработаному результату ещё раз новым Xslt преобразованием, без сохранения временного.

То есть - у нас есть один Xml + хитрый xslt который часть своих правил даст на старый документ и часть своих правил даст на то что первая часть отработала. Ну и понятно что на выходе после первой обработки мы получаем xml
 

Alexandre

PHPПенсионер
пойдя первый раз мы получаем данные одного типа (получить данные второго типа не возможно)
Нет ничего невозможного :)

если надо два выходных результата, то
xml + xsl 1 -> результат 1
xml + xsl 2 -> результат 2

если нужен один выходной результат, то
xml + сложный xsl -> результат

для того, чтоб реализовать:
который часть своих правил даст на старый документ и часть своих правил даст на то что первая часть отработала.
нужно либо увидеть пример, либо:
использовать набор условных шаблонов
<template mattch = "" mode="">

Так же возможно сл. комплексное преобразование:

xml + xsl 1 -> промежуточный xml + xsl 2 -> результат

тогда надо знать тот некий промежуток, от которого зависит вторая часть твоего преобразования.

Как правило, при таком подходе, промежуточный xml может быть сложнее входного ;)

У меня была задача:
взять входной xml
отчь заданные ветки
выдать выходной xml
сформировать из него каталог

Решение:
к входному xml я добавлял ноды <filter id="">
трансформировал в промежуточный xml (копия основного но без нодов id="")
вторая трансформация в каталог

Промежуточный xml нужен для анализа,
хотя вся задача могла быть решена и одним преобразованием.
 
Сверху