xsl-list
[Top] [All Lists]

Re: Alternating Odd and Even with a twist

2002-10-18 06:57:30
Kuhns Matt wrote:
I want to alternate rows between a odd and even
class
in my CSS. The twist is that If there is no
information in the tag I don't want to print and I
want to maintain my odd and even structure. The html
would look like this
<class="rowodd">Hi</class>
<class="roweven">How are you?</class>
<class="rowodd">Bye</class>
xml:
<item1>Hi</item1>
<item2>How are you?</item2>
<item3>Bye</item3>
but say there was no information where How are you?
I want it to go:
<class="rowodd">Hi</class>
<class="roweven">Bye</class>
xml:
<item1>Hi</item1>
<item3>Bye</item3>
I can get the text not to print, but how do I assign
the classes? 

I hope your elements are *not* named item1, item2,
item3...
But if you really want:
  <xsl:for-each
select="*[substring(name(),1,4)='item']">
    <class>
      <xsl:choose>
        <xsl:when test="position() mod 2 = 0">
           <xsl:attribute
name="name">even</xsl:attribute>
        </xsl:when>
        <xsl:otherwise>
           <xsl:attribute
name="name">odd</xsl:attribute>
        </xsl:otherwise>
      </xsl:choose>
      <xsl:apply-templates/>
    </class>
  </xsl:for-each>
(Beware: untested)

I'm not sure what the "twist" is, it's a standard
technique.

J.Pietschmann

I'm sorry my description was a little misleading:
<System>
<Network>Hi</Network>
<Client>How are you?</Client>
<Server>Bye</Server>
<System>
So you couldn't parse the string and get the string
"item"


__________________________________________________
Do you Yahoo!?
Faith Hill - Exclusive Performances, Videos & More
http://faith.yahoo.com

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



<Prev in Thread] Current Thread [Next in Thread>