XSL left-right justification with Padding

Prabhjot picture Prabhjot · Oct 18, 2011 · Viewed 9.3k times · Source

Is there any standard template in XSLT 1.0 available which does justification and pad the field to max length?

Thanks, Prabhjot

Answer

mtrovo picture mtrovo · Oct 18, 2011

Unfortunately XSLT does not comes with the padding function, the good part is that is very simple to do so as pointed by this blog post: http://www.dpawson.co.uk/xsl/sect2/padding.html.

For example if you want to right pad a 10 spaces string you can do:

<xsl:value-of 
 select="substring(concat($string, '          '), 1, 10))"/>

if you need a left pad you can change the order of the concat parameters as following:

<xsl:value-of 
 select="substring(concat('          ', $string), 1, 10))"/>

Notice that the string with spaces should contain the same amount of chars as your padding is needing, so if you want a 10 pad, you will need a 10 spaces string.