xsl-list
[Top] [All Lists]

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

2011-02-24 06:16:25
On 24/02/2011 11:59, pankaj(_dot_)c(_at_)thomsondigital(_dot_)com 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>&#xa;</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(.,',','&#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.

Best,
--PC

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--