RE: [xsl] using xsl:value-of but omitting some children - possible?

Subject: RE: [xsl] using xsl:value-of but omitting some children - possible?
From: <Jarno.Elovirta@xxxxxxxxx>
Date: Thu, 27 Jan 2005 17:16:22 +0200
Hi,

> I have problems with the following fragment:
>
> <somewheredeep>
>    <chaptertitle>
>       our title
>       <part>
>             has some parts
>       </part>
>       <ugly>
>             some ugly things here
>       </ugly>
>    </chaptertitle>
> </somewheredeep>
>
> I have the folloowing structure of templates
>
> <xsl:temaplate match="somewheredeep">
>     <xsl:variable name="chaptitle">
>        <xsl:call-template name="getchaptitle"/>
>     </xsl:variable>
>     <!-- I use $chaptitle several times here -->
> </xsl:template>
>
> <xsl:template name="getchaptitle">
>    <xsl:value-of select="chaptertitle">

Replace this xsl:value-of with

<xsl:for-each select="descendant::text()[not(parent::ugly)]">
  <xsl:value-of select="."/>
</>

> </xsl:template>
>
> I have to do different things (like cutting at the
> first space after 30 chars or something similar)
> with the text content of the chaptertitle.

<xsl:value-of select="concat(substring($chaptitle, 1, 30),
substring-before(substring($chaptitle, 31), ' '))"/>

Cheers,

Jarno

Current Thread