Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

When test=position() mod 4 = 0

File: Data.xml <?xml version="1.0"?> <!-- albums.xml --> <list xml:lang="en">   <title>title 1</title>   <listitem>item 1</listitem>   <listitem>item 2</listitem>   <listitem>item 3</listitem>   <listitem xml:lang="sw">item 4</listitem>   <listitem xml:lang="en-gb">item 5</listitem>   <listitem xml:lang="zu">item 6</listitem>   <listitem xml:lang="jz">item 7</listitem> </list> File: Transform.xslt <?xml version="1.0"?> <xsl:stylesheet version="1.0"    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">   <xsl:output method="html"/>   <xsl:template match="/">     <html>       <head>         <title>           <xsl:value-of select="list/title"/>         </title>       </head>       <body style="font-family: sans-serif; color: white;">         <h1 style="color: black;">           <xsl:value-of select="list/title"/>         </h1>         <table border="1" cellpadding="5"            style="font-weight: bold;">           <xsl:for-each select="list/listitem">             <tr>               <td>                 <xsl:attribute name="style">                   <xsl:choose>                     <xsl:when test="position() mod 4 = 0">                       <xsl:text>background: yellow; color: black;</xsl:text>                     </xsl:when>                     <xsl:when test="position() mod 4 = 1">                       <xsl:text>background: blue;</xsl:text>                     </xsl:when>                     <xsl:when test="position() mod 4 = 2">                       <xsl:text>background: white; color: black;</xsl:text>                     </xsl:when>                     <xsl:otherwise>                       <xsl:text>background: black;</xsl:text>                     </xsl:otherwise>                   </xsl:choose>                 </xsl:attribute>                 <xsl:value-of select="."/>               </td>             </tr>           </xsl:for-each>         </table>       </body>     </html>   </xsl:template> </xsl:stylesheet> Output: <html>    <head>       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">       <title>title 1</title>    </head>    <body style="font-family: sans-serif; color: white;">       <h1 style="color: black;">title 1</h1>       <table border="1" cellpadding="5" style="font-weight: bold;">          <tr>             <td style="background: blue;">item 1</td>          </tr>          <tr>             <td style="background: white; color: black;">item 2</td>          </tr>          <tr>             <td style="background: black;">item 3</td>          </tr>          <tr>             <td style="background: yellow; color: black;">item 4</td>          </tr>          <tr>             <td style="background: blue;">item 5</td>          </tr>          <tr>             <td style="background: white; color: black;">item 6</td>          </tr>          <tr>             <td style="background: black;">item 7</td>          </tr>       </table>    </body> </html>