|
Subject: Re: [xsl] Need help combing two elements From: Syd Bauman <Syd_Bauman@xxxxxxxxx> Date: Sun, 29 Mar 2009 23:05:02 -0400 |
> and my XSL is the following (well a snippet of it, ...
Actually, it would probably be easier to provide advice if you sent
the entire XSLT (or a pointer to it), as it is quite difficult to
test what you sent, as we don't have access to $reportType,
LabHeaderCell, etc.
I've got your input:
<Row Type="Data">
<Cell>Mar 23, 2006</Cell>
<Cell>08:44</Cell>
</Row>
But what do you want the output to look like?
While we're here, though, some thoughts follow.
> <xsl:for-each select="Row">
> <xsl:if test="@Type='Header'">
> <xsl:for-each select="Cell">
> <fo:table-column/>
> </xsl:for-each>
> </xsl:if>
> </xsl:for-each>
Couldn't this be expressed a bit more simply as
<xsl:for-each select="Row[@Type='Header']/Cell">
<fo:table-column/>
</xsl:for-each>
?
> <xsl:choose>
> <xsl:when test="@Status='Panic'">
> <fo:table-cell color="red" background-color="white" border="1pt solid
> black" wrap-option="wrap" overflow="hidden">
> <fo:block font-size="8pt" padding="1mm" margin-left=".25mm"
> overflow="hidden" language="ru" hyphenate="true">
> <xsl:value-of select="."/>
> </fo:block>
> </fo:table-cell>
> </xsl:when>
> <xsl:otherwise>
> <fo:table-cell color="black" background-color="white" border="1pt solid
> black" wrap-option="wrap" overflow="hidden">
> <fo:block font-size="8pt" padding="1mm" margin-left=".25mm"
> overflow="hidden" language="ru" hyphenate="true">
> <xsl:value-of select="."/>
> </fo:block>
> </fo:table-cell>
> </xsl:otherwise>
> </xsl:choose>
Since most of the content of the <when> and the <otherwise> are the
same, I'd be inclined to factor out the similarities:
<xsl:template name="LabDataCell">
<xsl:variable name="color">
<xsl:choose>
<xsl:when test="@Status='Panic'">red</xsl:when>
<xsl:otherwise>black</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<fo:table-cell color="{$color}" background-color="white"
border="1pt solid black" wrap-option="wrap" overflow="hidden">
<fo:block font-size="8pt" padding="1mm" margin-left=".25mm"
overflow="hidden" language="ru" hyphenate="true">
<xsl:value-of select="."/>
</fo:block>
</fo:table-cell>
</xsl:template>
I'm sure others on the list will point out if & where I'm wrong.
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Need help combing two ele, Fatbob | Thread | Re: [xsl] Need help combing two ele, Fatbob |
| RE: [xsl] ancestor/subsequent desce, G. Ken Holman | Date | Re: [xsl] Need help combing two ele, Fatbob |
| Month |