[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Make selection depending on value n-th child element
Make selection of element depending on value n-th child element.
In my xml structure I have row elements. Each row element can have multiple value elements. I want to select the rows where the n-th value > 0. In the xsl file I use <xsl:if test="./value > 0">. This has the result that the last value is checked. I want to be able to do this for the n-th value. I've tried <xsl:if test="./value[1] > 0"> to test the second value but this does not work. How do I address the value the n-th child element to make a selection? Martin Beugel ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ <table> ... <row> <value>1998-01-01T00:10:00</value> <value>121</value></row> <row> <value>1998-01-01T00:30:00</value> <value>107</value></row> <row> <value>1998-01-01T00:50:00</value> <value>92</value></row> <row> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ <?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" omit-xml-declaration="no" standalone="yes"/> <xsl:template match="row"> <xsl:if test="./value > 0"> <xsl:for-each select="value"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:for-each> </xsl:if> </xsl:template> <xsl:template match="/ | @* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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
|