xsl-list
[Top] [All Lists]

Re: node lists

2004-10-19 05:07:57
I think(?) I know what the problem is, as David solved this exact
problem for me here on this list a few days ago - here is his response
to my problem:

-------------------------------------
if you use xsl:variable with content rather than a select attribute it
_always_ generates a result tree fragment corresponding to a root node
(/) with children containing whatever is generated, so if you use
xx:node-set() on that you always get back a node set consisting of
exactly one node, / you presumably want to access 

msxsl:node-set($sorted_legislators)/*

David
-------------------------------------

So, I think you need to
change this

    <xsl:for-each select="exslt:node-set($items)">

to this

    <xsl:for-each select="exslt:node-set($items)/*">

HTH.

Hardy Merrill

richardlewis(_at_)fastmail(_dot_)co(_dot_)uk 10/19/04 08:03AM >>>

On Tuesday, October 19, 2004, at 11:43 AM, David Carlisle wrote:

Either two stylesheets or using your processor's xx:node-set() 
extension
function, two passes within the same stylesheet.

OK, I'm trying the node-set function (using Xalan-J 2.6).

This:

<xsl:variable name="items">
         <xsl:for-each select="//item[(_at_)class=$current-class]">
                 <xsl:sort select="@id" 
order="{ancestor::subsection/@sort}" />
                 <xsl:copy-of select="." />
         </xsl:for-each>
</xsl:variable>

<xsl:for-each select="exslt:node-set($items)">
         <xsl:message>
                 <xsl:value-of select="local-name()" />:
                 <xsl:value-of select="@class" />:
                 <xsl:value-of select="@id" />
         </xsl:message>
</xsl:for-each>

produces only one <xsl:message> where @class, @id and local-name() are

all blank.

Does anyone know why?

Cheers,
Richard


--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list 
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ 
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--



<Prev in Thread] Current Thread [Next in Thread>