Как сделать второе преобразование на выходе шаблона XSLT

У меня есть только базовые навыки XSLT, поэтому извиняюсь, если это является базовым или невозможным.

У меня есть шаблон paginator, который используется везде на сайте, на который я смотрю. Есть ошибка, когда одному конкретному поиску нужно добавить параметр categoryId, добавленный к href ссылок на страницы.Я не могу изменить таблицу стилей или я бы просто добавил к нему параметр. Я хотел бы применить шаблон как есть, а затем выполнить второе преобразование на основе его выходных данных. Это возможно? Как другие обычно расширяют шаблоны библиотек?

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

Редактировать - Между ответом Дабблера и комментарием Майкла Кея мы туда попали. Вот мой полный тест.

 <xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:ext="http://exslt.org/common">
    <!-- note we require the extensions for this transform -->

    <!--We call the template to be extended here and store the result in a variable-->
    <xsl:variable name="output1">
            <xsl:call-template name="pass1"/>
    </xsl:variable>

    <!--The template to be extended-->
    <xsl:template name="pass1">
            <a href="url?param1=junk">foo</a>
    </xsl:template>

    <!--the second pass. we lock this down to a mode so we can control when it is applied-->
    <xsl:template match="a" mode="pass2">
            <xsl:variable name="href" select="concat(@href, '&amp;', 'catid', '=', 'stuff')"/>
            <a href="{$href}"><xsl:value-of select="."/></a>
    </xsl:template>

    <xsl:template match="/">
            <html><head></head><body>
                    <!--the node-set extension function turns the first pass back into a node set-->
                    <xsl:apply-templates select="ext:node-set($output1)" mode="pass2"/>
            </body></html>
    </xsl:template>

</xsl:stylesheet>

Ответы на вопрос(2)

Ваш ответ на вопрос