Если ваш процессор поддерживает XSLT 2.0, вы можете сделать что-то вроде этого:
XML
<input>43567821</input>
XSLT 2.0
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:param name="factors">12345678</xsl:param>
<xsl:template match="/">
<output>
<xsl:value-of select="for $i in 1 to string-length(input) return number(substring(input, $i, 1)) * number(substring($factors, $i, 1))"/>
</output>
</xsl:template>
</xsl:stylesheet>
Результат
<?xml version="1.0" encoding="UTF-8"?>
<output>4 6 15 24 35 48 14 8</output>
Обратите внимание, что для этого необходимо, чтобы количество цифр в factors
было равно или больше количества цифр на входе.