Subject: Re: [xsl] Selecting First Letter From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Tue, 30 Sep 2003 14:35:57 -0400 |
<xsl:template match="text()[not(preceding::text() [count(.|current()/ancestor::p//text()) = count(current()/ancestor::p//text())])]">
Cheers, Wendell
XSLT 1.0 is not really a great string-processing language, which is what you need here, but its string handling is good enough to manage this ... you need the functions
substring($string, $start, $length)
and maybe substring-after($string, $substring)
So:
<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.)
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 ======================================================================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Selecting First Letter, Wendell Piez | Thread | [xsl] Re: Selecting First Letter, Dimitre Novatchev |
Re: [xsl] Selecting First Letter, Brook Ellingwood | Date | Re: [xsl] Best way to use global pa, WebShark |
Month |