[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
On 12/6/06, CMS <cms@xxxxxxxxxxxxx> wrote:
What all this means is that in 1.0 you can do either:
or
<xsl:apply-templates select="text()"/>
Either technique will process each text node in turn.
Re: [xsl] How to extract data from an element and not from its children
Subject: Re: [xsl] How to extract data from an element and not from its children From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx> Date: Wed, 6 Dec 2006 16:54:39 +0000 |
On 12/6/06, CMS <cms@xxxxxxxxxxxxx> wrote:
Hi,
I can't find a way to solve this problem:
How do I extract the value of an element, without text in its children. E.g. how do I extract from the next example the line 'This text is some test .'.
<text>This text is some test <emph>text</emph>.</text>
I think I am overlooking a simple function, but can't seem to find it.
The crucial thing to grasp here is that <text> contains the text node "This text is some test ", the element <emph> and then another text node "."
When you do value-of on <text> you get the text nodes of the element and all its children concatenated together, so you would get the text node child of <emph> - which isnt what you want.
When you do value-of select="text()" on <text> to only get the text node children you get a sequence of two items - the two text nodes. In 1.0 when you have a list of more than one item the first is used and the rest discarded (to allow functions that expect a single item to not fail if a list is supplied - XSLT 1.0 was designed to always produce some output).
What all this means is that in 1.0 you can do either:
<xsl:for-each select="text()"> <xsl:value-of select="."/> </xsl:for-each>
or
<xsl:apply-templates select="text()"/>
Either technique will process each text node in turn.
In 2.0 all the items in the sequence get concatenated together using a separator (if one's not supplied the default of a single space is used), so a simple value-of select="text()" does the job.
cheers andrew
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to extract data from , Florent Georges | Thread | Re: [xsl] how search end of line in, Bkesh |
Re: [xsl] [XSL-FO] How to adjust th, Florent Georges | Date | RE: [xsl] How to extract data from , Wendell Piez |
Month |
Keywords