|
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 |