David Carlisle wrote:
//CELL[(_at_)test='yes']/../preceding-sibling::ROW/CELL[position()=count(//CELL[(_at_)test='yes']/preceding-sibling::CELL)+1]
This won't work when there are more than one CELL that has @test='yes'.
Change it as follows to work for each row and to select all CELLs that
have a @test='true' in the next ROW on the same position:
count(//CELL[(_at_)test='yes']/preceding-sibling::CELL)
to:
count(
../following-sibling::ROW[1]/CELL[(_at_)test='yes']/preceding-sibling::CELL |
../following-sibling::ROW[1]/CELL[(_at_)test='yes'])
This will work with input like:
<ROW>
<CELL>11</CELL>
<CELL>12</CELL>
<CELL>13</CELL>
</ROW>
<ROW>
<CELL>21</CELL>
<CELL test="yes">22</CELL>
<CELL>23</CELL>
</ROW>
<ROW>
<CELL>31</CELL>
<CELL>32</CELL>
<CELL>33</CELL>
</ROW>
<ROW>
<CELL>41</CELL>
<CELL>42</CELL>
<CELL test="yes">43</CELL>
</ROW>
For which is returns:
<CELL>12</CELL>
<CELL>33</CELL>
(just my interpretation of Frank Marents request)
Cheers,
-- Abel Braaksma
--~------------------------------------------------------------------
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>
--~--