The following seems to work:
<xsl:template match="para">
<xsl:copy>
<xsl:attribute name="mypara">type_first</xsl:attribute>
<dummy id="first_letter">
<xsl:value-of select="substring(.,1,1)"/>
</dummy>
<xsl:value-of select="substring(text()[1], 2)" />
<xsl:copy-of select="node()[position() > 1]" />
</xsl:copy>
</xsl:template>
On Sat, Oct 30, 2010 at 2:46 PM,
<pankaj(_dot_)c(_at_)thomsondigital(_dot_)com> wrote:
Input:
=====
<para>Abc efg ijk <i>pie</i>amf. The quick brown <b>fox</b> jumps over a
<i>lazy little dog</i></para>
Stylesheet
=======
<xsl:template match="para">
<xsl:copy>
<xsl:attribute name="mypara">type_first</xsl:attribute>
<dummy id="first_letter"><xsl:value-of
select="substring(.,1,1)"/></dummy>
<xsl:apply-templates
select="substring(.,2,string-length(.))"/>
</xsl:copy>
</xsl:template>
Results
=====
<para mypara="type_first"><dummy id="first_letter">A</dummy></para>
Required
======
<para mypara="type_first"><dummy id="first_letter">A</dummy>bc efg ijk
<i>pie</i>amf. The quick brown <b>fox</b> jumps over a <i>lazy little
dog</i><para>
<xsl:apply-templates select="substring(.,2,string-length(.))"/> : @select
works in context of nodes only and not with string function.
.
If I use value-of it obviously returns me string value.
<xsl:value-of select="substring(.,2,string-length(.))"/>.
<para mypara="type_first"><dummy id="first_letter">A</dummy>bc efg ijk
pieamf. The quick brown fox jumps over a lazy little dog</para>: Missing
<i> and <b>.
Is there a way out.
Thanks,
Pankaj Chaturvedi
--
Regards,
Mukul Gandhi
--~------------------------------------------------------------------
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>
--~--