Subject: Re: Re:Confusion about preceding-sibling axis
From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx>
Date: Tue, 10 Apr 2001 08:14:55 +0100
|
Hi Yang,
> When I follow your solution example,
> I have to use msxsl:node-set in the for-each element
>
> <xsl:for-each select="exsl:node-set($item_list)">.
Yes - that's because you're using MSXML. I have to use
saxon:node-set() because I'm using Saxon. The node-set() function is
a common function, but each processor has a different namespace for
it. One of the aims of the EXSLT initiative (see
http://www.exslt.org) is to get a *common* namespace for *common*
functions like this.
[I'm going to start using exsl or the other EXSLT namespace prefixes
when talking about these functions to promote EXSLT and to indicate
that just 'cos I talk about saxon:node-set() etc. doesn't mean that
you *have* to use Saxon to get the node-set() function - your
processor might well have an equivalent that you can use.]
> However to get a resonable output, I have to add ** /item** to the
> node-set function , i.e.,
>
> <xsl:for-each select="msxsl:node-set($item_list)/item">
>
> Is it the difference between using exsl and RTF node-set function?
No - it's the difference between being awake when answering XSLT
questions and being asleep :) The exsl:node-set() function works in
the same way as the processor-specific extensions, returning a node
set consisting of the root node of the RTF. Sorry for the confusion.
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|