Subject: RE: xsl structuring.... From: Ben Robb <Ben@xxxxxxxxxx> Date: Tue, 3 Oct 2000 00:56:38 +0100 |
There is certainly a more elegant way than the one I've just hacked out; however, it gives the correct answer, and given it is nearly one o'clock in the morning, I'm going to call it a night at this: The trick lies in getting a nodeset containing all of the required "name" tags, and then using the "preceding" axis in XPath to do what a "DISTINCT" statement in SQL does... Hope this helps, Ben <table> <xsl:for-each select="//name[../../desRow or ../../asRow]"> <xsl:sort select="text()"/> <xsl:variable name="thisVal" select="text()"/> <xsl:if test="not(../preceding::name = $thisVal)"> <tr> <td><xsl:value-of select="text()"/></td> <td><xsl:choose> <xsl:when test="not(/History/des/desRow[name/text() = $thisVal]/qty/text())">-</xsl:when> <xsl:otherwise> <xsl:value-of select="/History/des/desRow[name/text() = $thisVal]/qty/text()"/> </xsl:otherwise> </xsl:choose> </td> <td><xsl:choose> <xsl:when test="not(/History/asis/asRow[name/text() = $thisVal]/qty/text())">-</xsl:when> <xsl:otherwise> <xsl:value-of select="/History/asis/asRow[name/text() = $thisVal]/qty/text()"/> </xsl:otherwise> </xsl:choose> </td> </tr> </xsl:if> </xsl:for-each> </table> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: xsl structuring...., Gary L Peskin | Thread | RE: xsl structuring...., Kay Michael |
RE: More wierdbehaviour., Andrew Kimball | Date | Re: Adding a chekbox with XSL, Dylan Parker |
Month |