This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Passing text() or element nodes
- To: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] Passing text() or element nodes
- From: Kay Michael <Michael dot Kay at icl dot com>
- Date: Fri, 12 Jan 2001 11:53:35 -0000
- Reply-To: xsl-list at lists dot mulberrytech dot com
> 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