Subject: Re: [xsl] Alternating Odd and Even with a twist From: Joerg Heinicke <joerg.heinicke@xxxxxx> Date: Fri, 18 Oct 2002 16:44:55 +0200 |
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"
System Development VIRBUS AG Fon +49(0)341-979-7419 Fax +49(0)341-979-7409 joerg.heinicke@xxxxxxxxx www.virbus.de
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Alternating Odd and Even , Kuhns Matt | Thread | [xsl] Top n values, Dan Diebolt |
Re: Functional Language wasRE: [xsl, David Carlisle | Date | RE: [xsl] What is the fastest XSLT , Passin, Tom |
Month |