This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Passing text() or element nodes


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]