xsl-list
[Top] [All Lists]

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

2010-10-30 05:47:27
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() &gt; 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>
--~--

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