Re: [xsl] Every other row with a different twist

Subject: Re: [xsl] Every other row with a different twist
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 16 Jan 2001 23:30:01 GMT


Your three fields address/name employer/name employer/tel
appear to be in document order (if they are in the document)
does your DTD enforce that?

If so you can get away with


<xsl:template match="person">
    <table>
<xsl:apply-templates select="
  address/name | employer/name | employer/tel"/>
</table>
</xsl:template>

<xsl:template match="address/name">
          <tr class="rowstyle{position() mod 2}">
             <td>Person's home city:</td>
             <td><xsl:value-of select="address/name"/></td>
          </tr>
</xsl:template>

etc

plus suitable css for .rowstyle0 and .rowstyle1

If you can't be sure of the order, you can do two passes, first
generating the output tree into a node set  and using a node-set
extension function provided by most xsl systems to add the attributes
later.

Alternatively of course you could do the colouring in the client with a
bit of javascript that coloured each row depending on its position
(but its too late at night for me to think javascript now)

David

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread