Subject: Re: Calcuting TH rows
From: "Matthew L. Avizinis" <mla@xxxxxxxxx>
Date: Fri, 09 Jan 2009 18:44:51 -0500
|
David Carlisle wrote:
>> I need the <thead> to close AFTER the
>> last <tr> (row) that contains <th> elements.
>>
>
> don't think of opening and closing tags, think of elements containing or
> not containingg stuff.
>
> reword the requirement to:
>
> I need the thead element to contain the result of processing rows that
> have a th, and the remaining rows to be processed in tbody (or nothing,
> I can't remeber quite how these tables worked).
>
> Once phrased that way, the translation to xslt is immediate:
>
> <thead>
> <xsl:apply-templates select="tr[th]"/>
> </thead>
> <tbody>
> <xsl:apply-templates select="tr[not(th)]"/>
> </tbody>
>
>
> no xsl:if testing is required here, I think.
>
> David
>
>
I think he stated that he wanted to only create the <thead> if there
were any tr[th], otherwise no <thead>.
In which case you'd need to test something like:
<xsl:choose>
<xsl:when test="tr[th]">
<thead>
<xsl:apply-templates select="tr[th]"/>
</thead>
<tbody>
<xsl:apply-templates select="tr[not(th)]"/>
</tbody>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="tr"/>
</xsl:otherwise>
</xsl:choose>
Matthew L. Avizinis
Gleim Publications, Inc.
P.S. I've been a member of this list for quite a while now. What a
wealth of solutions you've all provided during that time. I usually
don't reply much anymore since the list regulars/gurus are so fast they
usually have a response posted before I even get started typing. :-)
|