|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Filtering Problem using position()
> it seems that it is applying the calculation of the position() toto
> INCLUDE those rows that I had excluded when I did a template match.
yes position() is the position in the current node list ie the nodes
slected by the active apply-templates. in your case that is
<xsl:apply-templates select="node()|@*"/>
so teh current node list will be (first) all attribute nodes (then) all
text, element, comment etc nodes, in order. position() will reflect the
position of each node matched in this list.
so, don't do this
<xsl:template match="table[2]/tr[td[not(a) and not(@class)]]">
do this
<xsl:template match="table[2]">
<xsl:copy>
<xsl:apply-templates select="tr[td[not(a) and not(@class)]|@*"/>
</xsl:copy>
</xsl:template>
now the apply templates from that table will just apply templates to a
list of filtered tr nodes, so position() in teh template will do the
right thing.
David
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








