Re: [xsl] translating and commenting punctuation [XSLT1.0]

Subject: Re: [xsl] translating and commenting punctuation [XSLT1.0]
From: Andrew Welch <andrew.j.welch@xxxxxxxxx>
Date: Thu, 24 Feb 2011 12:15:10 +0000
On 24 February 2011 11:59,  <pankaj.c@xxxxxxxxxxxxxxxxxx> wrote:
> Hello everybody,
>
> I am trying to translate "," in text to new line while keeping a copy of
> it in comment. Some thing like below:
>
> XML
> ===
>
> <mytext>xxxx, yyyy, zzzzz, ttttt</mytext>
>
> Output Required
> ==========
>
> <mytext>xxxx<!--,-->
>  yyyy<!--,-->
>  zzzzz<!--,-->
>  ttttt</mytext>
>
>
> XSLT
> ====
>
>    <xsl:template match="mytext">
>        <xsl:copy>
>            <xsl:copy-of select="@*"/>
>           <xsl:value-of select="translate(.,',','&#x000A;')"/>
>        </xsl:copy>
>    </xsl:template>
>
> This does the trick just to get hard enter but of course do not generate
> the commented comma. I tried of using concat() along with translate but
> that doesn't seems to be working. Shall I need to write another rule for
> commenting the commas. I do not wish to do that as this is required for
> this element only.
>
> Any clue will be great to get this done. Comment is required just for
> repurposing.

xsl:analyze-string is what you want for this.

If you intend to process the commas later, you will be better off
using markup rather than comments, so instead of <!--,--> use
something like <whatever text=","/>

--
Andrew Welch
http://andrewjwelch.com

Current Thread