Re: position() > 1 not working
| Newsgroups | gmane.text.xml.xsl.general.mulberrytech |
|---|---|
| Organization | Liberty Development |
| Message-ID | <[email protected]> |
On 05.03.2021 20:22, Michele R Combs [email protected] wrote: > Ah. Ok, so if I understand correctly, I need to change the variable > assignment to grab the position of the <DATA> element within the parent > <ROW>, rather than within the for-each? How would I do that? I think what David tries to say is that you want e.g. ../../fmp:COL[3]/fmp:DATA[$parent-position + 1] instead of ../../fmp:COL[3]/fmp:DATA[$parent-position] (and the same for the other values.) Or you would need to use ../../fmp:COL[3]/fmp:DATA[position() > 1][$parent-position] ../../fmp:COL[4]/fmp:DATA[position() > 1][$parent-position] ../../fmp:COL[5]/fmp:DATA[position() > 1][$parent-position] and so on to work in the same range your for-each works with. > there are 4 DATA children so > > <xsl:for-each select="fmp:COL[3]/fmp:DATA[position() > 1]"> > > selects the 2nd, 3rd and 4th > > the scope of that position() is just that step of the xpath, within the > body of the for-each, position() counts the selected items > > so as there are three items selected position() as stored in > $parent-position will have values 1,2,3 which is one less than you > expected. --~---------------------------------------------------------------- XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/3329386 or by email: [email protected] --~--