xsl-list
[Top] [All Lists]

RE: Selecting First Letter

2003-09-30 15:06:10

<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(_at_)mulberrytech(_dot_)com
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