|
Subject: [xsl] Re: XSLT Problem From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Wed, 20 Jun 2001 13:36:47 -0700 (PDT) |
Hi Alex,
> I've got result table where I can not color every other row because as I
> understand the system :
> 1. retrieves rows and sorts them by appropriate keys;
> for example :
> 1-st row (value of C-field is ' ') - black;
> 2-nd row (value of C-field is '11') - gray;
> 3-rd row (value of C-field is ' ') - black;
> 4-th row (value of C-field is '22') - gray;
> 5-th row (value of C-field is ' ') - black;
> 6-th row (value of C-field is ' ') - gray;
>
> 2. and only then excludes 2-nd and 4-th rows( where field-C not = ' ')
>
> So instead of sequence :
>
> 1-st row (value of C-field is ' ') - black;
> 3-rd row (value of C-field is ' ') - gray;
> 5-th row (value of C-field is ' ') - black;
> 6-th row (value of C-field is ' ') - gray
>
> I've got :
>
> 1-st row (value of C-field is ' ') - black;
> 3-rd row (value of C-field is ' ') - black;
> 5-th row (value of C-field is ' ') - black;
> 6-th row (value of C-field is ' ') - gray
>
> Or other words does XSLT give us the posibility to use something like "where" in
> DB2 ?
> And if it does - how to use it within <xsl:for-each> or <xsl:apply-templates
> select="..."> BEFORE SORTING ?
Yes, there is such possibility -- a "predicate" can be placed at the end of every
location step.
In your case you'll have:
<xsl:for-each select="Record01[field-C = ' ']">
<!-- All contents as in your code, but remove the xsl:if -->
</xsl:for-each>
Hope this helped,
Cheers,
Dimitre Novatchev.
Alex Genis wrote:
Hi ! Could you please help ?
My task is : to create HTML report from XML document and to color every other
row for the result HTML table.
Everything is already done but I still have one problem:
If I use
<xsl:for-each select="Record01">
<xsl:sort select="field-A"/>
<xsl:sort select="field-B"/>
<xsl:if test="field-C = ' '" >
<TR>
<xsl:choose>
<xsl:when test="position() mod 2 = 0">
<TD ... class="C1">
<xsl:value-of select="field-A"/>
</TD>
<TD ... class="C1">
<xsl:value-of select="field-B"/>
</TD>
<TD ... class="C1">
<xsl:value-of select="field-C"/>
</TD>
</xsl:when>
<xsl:otherwise>
<TD ... class="C2">
<xsl:value-of select="field-A"/>
</TD>
<TD ... class="C2">
<xsl:value-of select="field-B"/>
</TD>
<TD ... class="C2">
<xsl:value-of select="field-C"/>
</TD>
</xsl:otherwise>
</xsl:choose>
</TR>
</xsl:if>
</xsl:for-each>
I've got result table where I can not color every other row because as I
understand the system :
1. retrieves rows and sorts them by appropriate keys;
for example :
1-st row (value of C-field is ' ') - black;
2-nd row (value of C-field is '11') - gray;
3-rd row (value of C-field is ' ') - black;
4-th row (value of C-field is '22') - gray;
5-th row (value of C-field is ' ') - black;
6-th row (value of C-field is ' ') - gray;
2. and only then excludes 2-nd and 4-th rows( where field-C not = ' ')
So instead of sequence :
1-st row (value of C-field is ' ') - black;
3-rd row (value of C-field is ' ') - gray;
5-th row (value of C-field is ' ') - black;
6-th row (value of C-field is ' ') - gray
I've got :
1-st row (value of C-field is ' ') - black;
3-rd row (value of C-field is ' ') - black;
5-th row (value of C-field is ' ') - black;
6-th row (value of C-field is ' ') - gray
Or other words does XSLT give us the posibility to use something like "where" in
DB2 ?
And if it does - how to use it within <xsl:for-each> or <xsl:apply-templates
select="..."> BEFORE SORTING ?
How this problem can be solved ?
Thanks a lot. Alex Genis.
__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] XSLT problem, Thomas B. Passin | Thread | [xsl] count the number of occurrenc, Jayaranga Subasinghe |
| RE: [xsl] XSLT Problem, Adam Van Den Hoven | Date | Re: [xsl] XSLT Problem, Thomas B. Passin |
| Month |