Попробуйте что-то вроде:
<xsl:text>****</xsl:text>
<xsl:value-of select="substring(accountnumber, string-length(accountnumber) - 3)" />
Контекст не предоставлен, поэтому вам нужно будет самостоятельно внести необходимые корректировки.
Добавлено:
Но что делать, если номер моего счета не является фиксированным значением? Например - если номер счета 123456, тогда он должен go как **3456* 1010 *
. Я бы не хотел предоставлять потенциальному злоумышленнику информацию о длине маскируемой части. Но если вы готовы пойти на риск, вы можете использовать:
<xsl:variable name="len" select="string-length(accountnumber)" />
<xsl:value-of select="translate(substring(accountnumber, 1, $len - 4), '0123456789', '**********')" />
<xsl:value-of select="substring(accountnumber, $len - 3)" />