|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: xsl structuring....
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
|
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








