Конечно, вы можете, например, определить параметр или переменную, например,
<xsl:param name="padding" as="xs:string" select="' '"/>
и тогда, где вам это нужно, вы не используете xsl:text
, а скорее <xsl:value-of select="$padding"/>
. Или, как я указал в комментарии, если вы хотите «вычислить» заполнение, вы можете использовать выражения <xsl:param name="padding-length" as="xs:integer" select="4"/>
и <xsl:param name="padding" as="xs:string" select="string-join(for $in in 1 to $padding-length return ' ', '')"/>
, а затем использовать переменную с xsl:value-of
или, конечно, в любом concat или другом месте. Наконец, ваш пример X(4)
или X(15)
выглядит как вызов функции, поэтому определите функцию
и буквально звоните mf:X(4)
, где вам нужно значение, например с xsl:value-of
. Как и для любой пользовательской функции в XSLT 2, вам необходимо объявить и использовать некоторое пространство имен / префикс для вашей функции в вашей таблице стилей, например, <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:mf="http://example.com/mf" version="2.0" exclude-result-prefixes="mf">
.