Hi David,
I have a very basic question.
Why this should not work -
<xsl:template match="entry">
<xsl:value-of select="../../colspec[position()]/@colname"/>
</xsl:template>
My doubt came because..
If we use
<xsl:value-of select="../../colspec[2]/@colname"/>
i.e. if we use a static number as predicate of colspec , it expectedly
gets(to my expectation!) the 2nd colspec child of table.
But should'nt this <xsl:value-of select="../../colspec[position()]/@colname"/>
do the same thing?
If I run this program:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text" />
<xsl:template match="/">
<xsl:apply-templates select="table/row/entry" />
</xsl:template>
<xsl:template match="entry">
<xsl:value-of select="../../colspec[position()]/@colname"/>
</xsl:template>
</xsl:stylesheet>
With 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>
The output is c1c1c1 . i.e. the instruction <xsl:value-of
select="../../colspec[position()]/@colname"/> always picks element
<colspec colname="c1"/> (i.e. 1st one)..
This amazes me.. Can you please clarify the rationale behind the
complex expression you wrote. And why simply [position()] should not
work.
Best regards,
If you really object to variables
<xsl:value-of select="../../colspec[position() =
count(current()/preceding-sibling::entry)+1]/@colname"/>
but that's likely to be slower
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--