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 |