Я думаю, вам нужен глобальный <xsl:param>
для этого .
Как правило, значение глобального параметра устанавливается инициатором преобразования непосредственно перед началом преобразования. Это общепризнанный общий способ передачи нестатических значений преобразования XSLT (известных во время компиляции таблицы стилей).
Вот пример :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:param name="pUrl" select="'http://www.cnn.com'"/>
<xsl:template match="/">
<t href="{$pUrl}"/>
</xsl:template>
</xsl:stylesheet>
когда это преобразование применяется к любому документу XML (не используется), результат будет :
<t href="http://www.cnn.com" />
Способ задания значения глобального параметра зависит от реализации и зависит от одного процессора XSLT к другому. Прочтите документацию по вашему процессору XSLT, чтобы узнать, как это сделать.