xsl-list
[Top] [All Lists]

[xsl] Select first letter of first word [xsltproc 1.0]

2010-10-30 04:16:17
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


--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>