I have enabled XPath 2.0 configuration synapse.xpath.dom.failover.enabled=true
in synapse.properties
but still unable to get string padding done. Is there any expression to achieve it?
Edit :
The length of a particular string needs to be 10 chars, if it is lesser than it, we have to pad it with the special character '%'.
Eg., Input = 'WSO2', after padding it should be 'WSO2%%%%%%'
Thanks in advance
This can be achieved using XPath 1.0 like so, assuming that
"WSO2"
will be replaced by dynamic input string in the actual implementation :The above XPath basically works by concatenating string of 10 specific for-padding characters to the original input string, and then substring the result to get only the first 10 characters. Found this trick in the following XSL question : XSL left-right justification with Padding
To put this in a more generic formula :
input_string
: string to which padding operation will applied%
: character used for padding, repeatedn
timesn
: fixed number of characters expected in the output stringThe solution from @har07 is fine if you have a reasonable upper bound on the value of n, but if you don't, you can create a string containing '%' repeated $n times using