Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

XSL left-right justification with Padding

Tags:

java

xslt

jaxp

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

like image 225
Prabhjot Avatar asked Feb 22 '23 16:02

Prabhjot


1 Answers

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

(Web archive version: http://web.archive.org/web/20171225234313/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.

like image 184
mtrovo Avatar answered Mar 02 '23 16:03

mtrovo