With XSLT 2.0, you can do as following:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" indent="yes" />
<xsl:template match="/">
<Proposal>
<Products>
<xsl:for-each select="distinct-values(for $x in //ProdID
return normalize-space($x))">
<ProdId><xsl:value-of select="." /></ProdId>
</xsl:for-each>
</Products>
</Proposal>
</xsl:template>
</xsl:stylesheet>
On 3/29/07, Karthik <ckkarthik(_at_)gmail(_dot_)com> wrote:
Hi ,
I am new to XSLT.
I have to grab the unique Products from the Input below
INPUT:
<Proposal>
<Quote>
<QuoteId>1</QuoteId>
<Products>
<Product>
<ProdID>
1234
</ProdID>
<ProdID>
5678
</ProdID>
</Product>
</Products>
</Quote>
<Quote>
<QuoteId>2</QuoteId>
<Products>
<Product>
<ProdID>
1234
</ProdID>
<ProdID>
5678
</ProdID>
</Product>
</Products>
</Quote>
</Proposal>
Desired OUTPUT:
<Proposal>
<Products>
<ProdId>1234</ProdId>
<ProdId>5678</ProdId>
</Products>
</Proposal>
The code which I am trying is
<xsl:variable name="unique-Product"
select="//Proposal/Quote/Products/Product[not(ProductId=ancestor::Product/ProductId)]"/>
<xsl:for-each select="$unique-Product">
</xsl:for-each>
Any help is appreciated
Thanks in advance
Karthik
--
Regards,
Mukul Gandhi
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--