Subject: Re: [xsl] conditional count From: Mukul Gandhi <mukul_gandhi@xxxxxxxxx> Date: Tue, 19 Oct 2004 11:31:35 -0700 (PDT) |
Please try this XSL - <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:template match="/root"> <xsl:variable name="x"> <xsl:for-each select="row"> <xsl:variable name="y"> <xsl:for-each select="column"> <xsl:if test="normalize-space(.) != ''"> 1 </xsl:if> </xsl:for-each> </xsl:variable> <xsl:if test="(string-length(normalize-space($y)) - string-length(translate(normalize-space($y), '1', ''))) = count(column)"> 2 </xsl:if> </xsl:for-each> </xsl:variable> <xsl:value-of select="string-length(normalize-space($x)) - string-length(translate(normalize-space($x), '2', ''))"/> </xsl:template> </xsl:stylesheet> Regards, Mukul --- Daniel Heskia <daniel@xxxxxxxxx> wrote: > Hi. > I have some unhandy xml that I would like to process > in plain xsl by > counting elements conditionally (if the entire data > set in the elemt is > full). > In the example below I want to count only the number > of element "row" where > all underlying columns have data. i.e. the number in > the example should be > 1. > > I can filter out the empty "row"'s by challenging > the contents of the entire > element by: > <xsl:value-of > select="count(/root/row[normalize-space()])"/> > > But how do I exclude an element "row" if just a > single "column" in the > element is empty? > > <root> > <row> > <column>Peter</column> > <column>Johnson</column> > <column>High Street 10</column> > <column>Male</column> > <column>15-10-2004</column> > <column>13.11</column> > </row> > <row> > <column></column> > <column></column> > <column></column> > <column></column> > <column></column> > <column></column> > </row> > <row> > <column>Sue</column> > <column>Bond</column> > <column>Dollar Avenue</column> > <column>Female</column> > <column>01-05-2003</column> > <column></column> > </row> > </root> __________________________________ Do you Yahoo!? Yahoo! Mail Address AutoComplete - You start. We finish. http://promotions.yahoo.com/new_mail
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] conditional count, Daniel Heskia | Thread | [xsl] EXSLT set:distinct, Richard Lewis |
Re: [xsl] match string, Zsolt Szabó | Date | Re: [xsl] union vs. "or" vs. contai, Bruce D'Arcus |
Month |