Hi,
I would like to try my hand at answering your question (I'm attempting to
stretch a little beyond my true expertise)...
I believe the problem would be that your position() will want to pertain to
the 21st <chapter> child of <imageLink> nodes, but there are no such
children of <imageLink>.
I think you should use a parent:: in the predicate.
----- Original Message -----
From: "Robert Ogden" <Robert(_dot_)Ogden(_at_)udlp(_dot_)com>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Monday, November 17, 2003 3:47 PM
Subject: [xsl] position() of parent node
This should be an easy one, but it is eluding me.
XML:
<manual>
<chapter>
<textLink>para one</textLink>
<textLink>para two</textLink>
<imageLink>image one</imageLink>
<imageLink>image two</imageLink>
</chapter>
</manual>
XSLT:
<xsl:for-each select="chapter">
<xsl:for-each select="textLink">
//do some stuff
</xsl:for-each>
<xsl:for-each select="imageLink">
<xsl:if test="chapter[position() != 21]">
//do your thing
</xsl:if>
</xsl:for-each>
</xsl:for-each>
What I am getting at, is that I want to output all text links (easy
enough), and all images for chapters unless the chapter is 21 (which
happens also to be last, which I tried <xsl:if test="chapter[position()
!= last()]">)
Position has given me troubles in the past.
Robert Ogden
IETM Developer
Navy Programs
(763) 572-7121
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list