Re: [xsl] A beautiful way to populate a variable with N blanks?

Subject: Re: [xsl] A beautiful way to populate a variable with N blanks?
From: "Imsieke, Gerrit, le-tex gerrit.imsieke@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 24 Feb 2023 15:11:56 -0000
Not particularly beautiful, but concise: codepoints-to-string((1 to $N)!32)

On 24.02.2023 16:04, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx wrote:
Hi Makita-san,



That is the form I was about to post too. Martin's suggestion is a novel use of the "!" operator, but my OCD seems to not like generating data that is never meaningfully used. Although longer, I feel the "for" loop's intent is a bit easier for future novices to follow.



That being said, I still enjoy seeing clever uses of the "!" operator!



- Chris



-----Original Message-----

From: Toshihiko Makita tmakita@xxxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>

Sent: Friday, February 24, 2023 9:59 AM

To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx

Subject: Re: [xsl] A beautiful way to populate a variable with N blanks?



How about the following?



<xsl:variable name="blanks" as="xs:string" select="string-join(for $i in

1 to $N return (' '), '')"/>



On 2/24/2023 11:44 PM, Roger L Costello costello@xxxxxxxxx wrote:

Hi Folks,



$N contains an integer.



$blanks is a string variable. The string is to consist of $N blanks (space characters).



Below is one way to populate $blanks. It's an awful solution. Is there a beautiful (simple) solution?



<xsl:variable name="tmp" as="xs:string+">

<xsl:sequence select="''" />

<xsl:sequence select="for $i in 1 to $N return (' ')"/>

</xsl:variable>



<xsl:variable name="blanks" as="xs:string">

<xsl:value-of select="$tmp" separator=""/> </xsl:variable>





Toshihiko Makita


Antenna House, Ina Branch.

Current Thread