[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Limit the length of transformed content from source text nodes


Subject: Re: [xsl] Limit the length of transformed content from source text nodes
From: Blue Gecko <bluegecko@xxxxxxxxx>
Date: Tue, 25 Oct 2005 18:02:29 +0200

Jon Gorman wrote:
On 10/24/05, Blue Gecko <bluegecko@xxxxxxxxx> wrote:

Hello folks

Is there a way to limit the length of transformed content from source
text nodes via XSLT?

Well, you can limit the amount of text using substring.


ie

<xsl:template match="item" mode="summary">
<xsl:value-of select="substring(.,1,50)" />
</xsl:template>

would give you the first fifty characters of the result of calling
value-of on item.

Hard to tell from the info if that would be adequate.

That seems really adequate in the case I exposed (simple text contents).


Thinking about a more complex (and realistic) case, I could imagine that the contents would be interspersed with markup tags, like this (<strong/> elements):

<!-- source -->
<foo>
<item>This is the <strong>body</strong> of an article interspersed with <strong>markup tags</strong> I'm striving to snip.</item>
</foo>


In this case, I'm awfully in trouble: I should extract a stated amount of text (say: text nodes content) preserving (or possibly transforming) the interspersed markup elements, like this (<i/> transformed element):

<!-- result -->
<snippets>
<snippet>This is the <i>body</i> of [...]</snippet>
</snippets>

Tough matter, I'm afraid... 8(


Current Thread