2012-02-03 3 views
0

Вывод, сгенерированный шаблоном, записывается в стандартный выходной поток, если только шаблон не был вызван изнутри < xsl: variable >, и в этом случае результат становится значением этой переменной.Выберите, где идет выходной поток шаблона XSLT

Есть ли способ получить оба из одного шаблона, то есть способ направить часть вывода на стандартный выходной поток и направлять часть вывода обратно на вызов < xsl: variable >?

ответ

1

Есть ли способ, чтобы получить как из одного шаблона, то есть способ направить часть вывода на стандартный поток вывода и прямой некоторого выхода обратно в вызывающем <xsl:variable>?

Да. Сначала сначала запишите полный вывод шаблона в переменную. Затем обработайте содержимое этой переменной и выпустите нужные детали. Затем создайте новую переменную, содержимое которой содержит требуемые части из полного вывода шаблона, который захватывается в первой переменной.

Было бы хорошо, если бы вы могли предоставить конкретный документ XML и желаемый результат.

+0

Я думал об этом. Я надеялся, что может быть более прямой подход, чтобы избежать этой дополнительной задачи разделения того, что может быть нетривиальной структурой данных. Шаблон может генерировать, скажем, некоторый вывод HTML, затем флаг возврата для использования вызывающим, затем больше выход HTML, затем больше возвращаемых данных и т. Д. – JPM

+0

@JPM: * хороший * способ организовать такой вывод: ' результатов для загрузки в переменную результатов для вывода '. Затем переменная 'select = '$ captureVariable/forVariable/node()" ' –

Смежные вопросы