Número de relleno con ceros a la izquierda en XSLT 1.0
Tenemos un número en XML que puede ir hasta 3 dígitos en un archivo XML grande que debe convertirse a texto de longitud fija para cargarlo en otro sistema.
Necesito rellenar esto con ceros iniciales a una longitud de 15 en la salida (que es texto de longitud fija)
Ejemplos:
- 1 becomes 000000000000001
- 11 becomes 000000000000011
- 250 becomes 000000000000250
Intenté esto:
<xsl:value-of select="substring(concat('000000000000000', msg:BankAccount/msg:Counter), 12, 15)"/>
para obtener los 15 ceros al principio y tomar la subcadena, pero debo haber cometido un error con la subcadena porque en los resultados obtengo
0000000000000000000000009LLOYDS BANK PLC
00000000000000000000000010LLOYDS BANK PLC
También intentéformat-number
pero yo devuelve NaN
<xsl:value-of select="format-number(msg:BankAccount/msg:Counter, '000000000000000')"/>
devuelve 'NaN'
Entonces, ¿qué he hecho mal y cuál es la mejor manera de hacerlo?