This is the mail archive of the xsl-list@mulberrytech.com mailing list .
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
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
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |