xsl-list
[Top] [All Lists]

Re: position() of parent node

2003-11-17 14:49:27
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



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