Re: [xsl] NodeTest text()

Subject: Re: [xsl] NodeTest text()
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 03 Feb 2004 08:37:29 -0500
At 2004-02-03 12:06 +0000, BODARD Gabriel wrote:
I am trying to use the text() nodetest to extract the text only value of
a string. Kay (2nd ed.) defines the function of text() as "selects all
text nodes on the relevant axis".

The node test selects all, but <xsl:value-of /> only returns the value of the first node found in document order.

So, I would expect the text() content of the abbr element in:


to be 'Wills'.

When all of the text nodes are concatenated, yes.

(This is within the definition of a key and also includes
normalise-space and translate, to complicate matters, but it should
still all work.) The trouble is that the output I get from this function
is 'Will', i.e. only the first text node, rather than all.

Right ... but then I'm assuming you are using <xsl:value-of/>

Am I
misunderstanding the definition, misusing the nodetest, or is this a
problem with Saxon?

It is not a problem with Saxon, Saxon is compliant in its returned value.

As with many sibling node issues in XSLT 1.0 you will need to walk the tree of text() node siblings concatenating the values you find into a return string value.

I hope this helps.

......................... Ken

Public courses: sign up for one or both soon to reserve your seat!
Each week:  Monday-Wednesday: XSLT/XPath;  Thursday-Friday: XSL-FO
Washington, DC: 2004-03-15           San Francisco, CA: 2004-03-22
Hong Kong, China: 2004-05-17           Bremen, Germany: 2004-05-24
World-wide on-site corporate, government & user group XML training

G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Breast Cancer Awareness

XSL-List info and archive:

Current Thread