Subject: RE: [xsl] Select nodes with equal position From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sat, 2 Apr 2005 20:22:32 +0100 |
> depending on the postion() of a certain node I would like to select > another node with the same position. > It works if I invent a variable. > But I wonder if there is a way to do it without the use of a variable? Not if you're using a predicate, because position() inside a predicate is different from position() outside the predicate. As DC said, it's much better to make your variable hold the position as a number rather than as a text node in a result tree fragment: that is, to use the select attribute. In fact there's an XSLT 2.0 solution that doesn't require a predicate and therefore doesn't require a variable: <xsl:value-of select="../../subsequence(colspec, position(), 1)/@colname"/> Michael Kay http://www.saxonica.com/ > > > XML: > > <table> > <colspec colname="c1"/> > <colspec colname="c2"/> > <colspec colname="c3"/> > <row> > <entry colname="c1">r1_1</entry> > <entry colname="c2">r1_2</entry> > <entry colname="c3">r1_2</entry> > </row> > </table> > > > XSL: > <xsl:template match="entry"> > <xsl:variable name="mypos"> > <xsl:value-of select="position()"/> > </xsl:variable> > <xsl:value-of select="../../colspec[position() = $mypos]/@colname"/> > </xsl:template> > > > Best regards and thanks for your comments, > Norbert Heidbrink
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Select nodes with equal p, Norbert Heidbrink | Thread | Re: [xsl] Select nodes with equal p, Dimitre Novatchev |
RE: [xsl] providing intellisense us, Aron Bock | Date | RE: [xsl] Select nodes with equal p, Michael Kay |
Month |