Subject: Re: [xsl] Handling Duplicate Lines in XSL From: "Murali Korrapati" <murali.korrapati@xxxxxxxxx> Date: Fri, 31 Oct 2003 14:04:24 -0500 |
Hi, Thanks for the people who posted and answered this question. This gives me lead to solve some other problem. But I have a slightly different problem though. My XML is like: <root> <foo> <bar>Cust1 443 West</bar> <bar2>Cust1</bar2> </foo> <foo> <bar>Cust1 443 East</bar> <bar2>Cust1</bar2> </foo> <foo> <bar>Cust1 443 East</bar> <bar2>Cust1</bar2> </foo> <foo> <bar>Cust1 443 West</bar> <bar2>Cust1</bar2> </foo> </root> and I want my output to be something like Cust1 443 West Cust1 443 East and I tried with <xsl:for-each select="root[not(foo/bar = preceding-sibling::foo/bar)]"> <xsl:value-of select="."/><br/> </xsl:for-each> but, it doesn't seem like working. Any help with this?? thanks. ~Mur Heres a quick fix to your grouping problem... If the XML was in the following format... <foo> <bar>Cust1 443 West</bar> <bar>Cust1 443 West</bar> <bar>Cust1 443 West</bar> <bar>Cust1 443 East</bar> </foo> the following XSL will test to see if the current node is equal to any of the preceding elements and if it is it will not include it in the resulting node-set. It then prints the value of each node. So this... <xsl:for-each select="foo/bar[not(. = preceding-sibling::bar)]"> <xsl:value-of select="."/><br/> </xsl:for-each> Will produce this... Cust1 443 West Cust1 443 East Best of luck, M. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Handling Duplicate Lines , M. David Peterson | Thread | Re: [xsl] Handling Duplicate Lines , J.Pietschmann |
[xsl] Re: A grouping question ?, Dimitre Novatchev | Date | Re: [xsl] xalan extensions SQL Orac, J.Pietschmann |
Month |