Subject: Re: [xsl] translating and commenting punctuation [XSLT1.0]|
Date: Thu, 24 Feb 2011 17:53:41 +0530
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: [xsl] 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