xsl-list
[Top] [All Lists]

RE: Elminitate redundancy by using variables

2004-03-24 00:07:46
Hi,

Imagine I have xsl similar to this:

<xsl:choose>
      <xsl:when test="number($count) mod 2 = 0">

You don't need to cast $count to a number, it will be done automatically for 
you; then again, with XPath 2.0 you need to start being more careful about the 
data types, so I suppose it's a good habit to have.

              <tr style="background-color: #FFFFFF;">
                 <td class="fieldInfo">
                      <xsl:value-of
select="substring(LineItemName,1,45)"/>
                 </td>
              </tr>
      </xsl:when>
      <xsl:otherwise>
              <tr style="background-color: #E7EEFF;">
                 <td class="fieldInfo">
                      <xsl:value-of
select="substring(LineItemName,1,45)"/>
                 </td>
              </tr>
      </xsl:otherwise>
</xsl:choose>

You can easily see that this would be a nightmare if I had 
even just 5 <td>
elements being repeated.  Is there a way to save the value from the
beginning of the <td> to the end, including the generate value of
LineItemName?

  <tr>
    <xsl:attribute name="style">
      <xsl:text>background-color: </xsl:text>
      <xsl:choose>
        <xsl:when test="$count mod 2 = 0">#FFFFFF</xsl:when>
        <xsl:otherwise>#E7EEFF</xsl:otherwise>
      </xsl:choose>
      <xsl:text>;</xsl:text>
    </xsl:attribute>
    <td class="fieldInfo">
      <xsl:value-of select="substring(LineItemName,1,45)"/>
    </td>
  </tr>

Cheers,

Jarno - Chris C: The Zurich Mix