Re: [xsl] position of non actual element

Subject: Re: [xsl] position of non actual element
From: Oliver Becker <obecker@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 28 Feb 2002 08:30:46 +0100 (MET)
Hi Rudolf,

> ok, my original data are:
> 
> <table>
>   <cols>
>     <col name="persno" width="..." align=".." grid="..." .....>
>     <col name="name" width="..." align=".." grid="..." .....>
>     <col name="address" width="..." align=".." grid="..." .....>
>   </cols>
>   <rows>
>     <row memo="..">
>       <cell>123</cell>
>       <cell>John Smith</cell>
>       <cell>1st avenue, 1040 Boston</cell>
>     </row>
>     ...
>   </rows>
> </table>
> 
> When I format this xml I want:
> <xsl:for-each select="table/rows/row">
>   <TR><TD>
>     <xsl:value-of select="give me the cell 
      cell
>        which position is the same
         [position()=
>           as the position of element col
            count(../../cols/col
>              which attribute is name"/>
               [@name='name']/preceding-sibling::col)+1]
>       </TD>
>   </TR>
> </xsl:for-each>

in other words: find the correct col element, count its predecessors
and compare this number to the current position of the cell.
cell[position()=count(../../cols/col[@name='name']/preceding-sibling::col)+1]
or shorter, by omitting the comparison with position()
cell[count(../../cols/col[@name='name']/preceding-sibling::col)+1]

> Thats all what I want. I think if you write select="element[position() = 5]"
> that means that parser must find position of "element",

The processor selects first all children named 'element' and determines
after that in this list the one on position 5

> why I cannot know
> the number of this position(), why only in test?

Because you can write in the same manner
following::element[position()=5]
following-sibling::element[position()=5]
descendant::element[position()=5]
and get probably three different element nodes.

An element has no position by itself, only within a node list.

Hope that helps,
Oliver


/-------------------------------------------------------------------\
|  ob|do        Dipl.Inf. Oliver Becker                             |
|  --+--        E-Mail: obecker@xxxxxxxxxxxxxxxxxxxxxxx             |
|  op|qo        WWW:    http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread