Subject: [xsl] Using the count function to count the previous siblings in XLST 1.0 From: "Marco Mastrocinque" <mmfive@xxxxxxxxxxxxxxx> Date: Tue, 3 May 2005 20:38:41 +1000 |
Hi All, After further investigation I have I can use the following; <xsl:when test = "position() = last()"> <xsl:value-of select="count(preceding-sibling::employee) + 1"/> But there is another problem, I wish to sort by two elements 'OFFICE' and 'ENAME'. If I comment out the two xsl:sort lines, the count is correct (shown below). But if uncomment them, the count is incorrect. Why is is this happening? Thanks Marco Mastrocinque <xsl:for-each select="company/division"> <xsl:for-each select="employees/employee"> <!--<xsl:sort select="OFFICE"/>--> **Problem** <!--<xsl:sort select="ENAME"/>--> **Problem** -----Original Message----- From: Marco Mastrocinque [mailto:mmfive@xxxxxxxxxxxxxxx] Sent: Tuesday, 3 May 2005 7:57 PM To: (xsl-list@xxxxxxxxxxxxxxxxxxxxxx) Subject: Using the count function to count the previous siblings in XLST 1.0 Hi All, I have the following snippet of code. <xsl:for-each select="company/division"> <xsl:for-each select="employees/employee"> <xsl:sort select="OFFICE"/> <xsl:sort select="ENAME"/> <tr> <td> <xsl:choose> <xsl:when test="position() != last()"> <xsl:value-of select="concat(' ', @EID, ', ', ENAME, ', ',OFFICE)"/> </xsl:when> <xsl:when test = "position() = last()"> <xsl:value-of select="concat(' ', @EID, ', ', ENAME, ', ',OFFICE)"/> <xsl:text>



Count is</xsl:text> <xsl:value-of select="count(employees/employee)"/> </xsl:when> </td> </tr> </xsl:for-each> </xsl:for-each> This works by displaying a whole series of data in a single column in a HTML table. At the end of each employees/employee, with the last value in this previously mentioned element output, I wan't to display the count of 'count(employees/employee)'. It displays zero, because the system has already cycled all the way trough them. I want to all the previous-siblings plus the last one. Can it be done? I want the output to be, Element 1 (First group) Element 2 Element 3 Element 4 Count is 4 Element 1 (Second group) Element 2 Element 3 Element 4 Element 5 Count is 5 Etc... All this a SINGLE column of a HTML table. Thanks Marco Mastrocinque
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] ESQL result inside xsl, tom . kirkpatrick | Thread | RE: [xsl] Using the count function, Michael Kay |
[xsl] ESQL result inside xsl, tom . kirkpatrick | Date | RE: [xsl] Using the count function, Michael Kay |
Month |