RE: [xsl] Passing text() or element nodes

Subject: RE: [xsl] Passing text() or element nodes
From: Kay Michael <Michael.Kay@xxxxxxx>
Date: Fri, 12 Jan 2001 11:53:35 -0000
> I'm having a discussion with Jarno Elovirta at the moment on the
> relative merits of the following XPaths being used to specify the
> values of parameters being passed to a named template:
> 
>   foo
>   foo/text()
>   string(foo)
>   string(foo/text())

I would discourage use of foo/text() because it will give the "wrong" answer
if the document author decides to include a comment in the middle of the
text; I believe also that some DOM-based products don't always normalize
text nodes as they should.

In Saxon the explicit conversion to a string() can sometimes be helpful,
especially with an expression passed as a parameter. There are a few cases
where it can ensure that only the first node is retrieved. It does no harm,
but is unnecessary, when used in contexts such as <xsl:value-of>. But I'd be
guided by clarity and readability rather than performance.

Mike Kay 

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread