php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #19641 test "position()mod 2" not being processed correctly
Submitted: 2002-09-27 16:23 UTC Modified: 2002-09-27 17:20 UTC
From: tony at marston-home dot demon dot co dot uk Assigned:
Status: Not a bug Package: XSLT related
PHP Version: 4.2.3 OS: Windows XP
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
36 - 7 = ?
Subscribe to this entry?

 
 [2002-09-27 16:23 UTC] tony at marston-home dot demon dot co dot uk
I have the following code in my XSL file:

<tr><xsl:attribute name="class">
  <xsl:choose>
    <xsl:when test="position()mod 2">odd</xsl:when>
    <xsl:otherwise>even</xsl:otherwise>
  </xsl:choose>
</xsl:attribute>

It's purpose is to set the class of the <tr> element depending on whether the row is odd-numbered or even-numbered so that the background colour can be set accordingly. This works perfectly with the MSXML parser, but with PHP the first row comes out as "odd" (correct), but all subsequent rows come out as "even".

The only way I can get it to work is to modify the test to "position()mod 2-1", but this should not be necessary.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-09-27 17:20 UTC] derick@php.net
If this is a bug at all, it's a bug in the libraries that PHP uses, which is libsablot (www.gingerall.com). Not a PHP problem -> bogus.

Derick
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Wed Apr 24 13:01:29 2024 UTC