Thanks Michael but I am using 1.0. Definitely it would have much easier in
2.0. :-(
Michael Kay <mike@xxxxxxxxxxxx>
02/24/11 05:46 PM
Please respond to
xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To
xsl-list@xxxxxxxxxxxxxxxxxxxxxx
cc
Subject
Re: translating and commenting punctuation [XSLT1.0]
On 24/02/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>
Try
<xsl:template match="mytext">
<xsl:copy>
<xsl:analyze-string select=",">
<xsl:matching-substring>
<xsl:comment><xsl:value-of select="."/></xsl:comment>
<xsl:text>
</xsl:text>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="."/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:copy>
</xsl:template>
Michael Kay
Saxonica
>
> XSLT
> ====
>
> <xsl:template match="mytext">
> <xsl:copy>
> <xsl:copy-of select="@*"/>
> <xsl:value-of select="translate(.,',','
')"/>
> </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.
>
> Best,
> --PC
|