RE: [xsl] Selecting First Letter

Subject: RE: [xsl] Selecting First Letter
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Tue, 30 Sep 2003 23:06:10 +0100
> 
> <xsl:template match="text()">
>    <xsl:variable name="initial" select="substring(.,1,1)">
>    <b><xsl:value-of select="$initial"/></b>
>    <xsl:value-of select="substring-after(.,$initial)"/>
> </xsl:template>
> 
> should do it. (The rest would be an identity transform.)

I suspect he didn't want to do it on every text node, perhaps only the
first text node in a <p> element. So there might be a need to refine the
conditions a bit:

(a) in the above template, do something to test whether it's one of the
text nodes you want to treat this way, e.g. by testing whether
<xsl:number level="any" from="p"> is 1

or (b) in the template rule for the <p> element, process the descendants
with a parameter set to the generate-id() of the first descendant text
node, and test this parameter in the text template.

 Michael Kay

> 
> Cheers,
> Wendell
> 
> At 01:33 PM 9/30/2003, you wrote:
> >I would like to be able to select the
> >first letter of the first text node
> >within a hierarchy, e.g., the "S" here:
> >
> >   <content>
> >     <p><a href="...">Some</a> Text</p>
> >   </content>
> >
> >and create a new element with that letter
> >while keeping the rest of the structure
> >as is, e.g:
> >
> >   <content>
> >     <p><a href="..."><b>S</b>ome</a> Text</p>
> >   </content>
> 
> 
> ======================================================================
> Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
> Mulberry Technologies, Inc.                http://www.mulberrytech.com
> 17 West Jefferson Street                    Direct Phone: 301/315-9635
> Suite 207                                          Phone: 301/315-9631
> Rockville, MD  20850                                 Fax: 301/315-8285
> ----------------------------------------------------------------------
>    Mulberry Technologies: A Consultancy Specializing in SGML 
> and XML 
> ======================================================================
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread