At 2007-03-31 14:53 -0400, Karthik wrote:
I am new to XSLT.
Welcome!
I have to grab the unique Products from the Input below using XSLT 1.0
INPUT:
...
Desired OUTPUT:
...
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>
Your use of axes in this fashion won't work ... you should look up
the Muenchian Method using Google and read how the code below works.
I hope this helps.
. . . . . . . . . . Ken
t:\ftemp>type karthik.xml
<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>
t:\ftemp>type karthik.xsl
<?xml version="1.0" encoding="US-ASCII"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output indent="yes"/>
<xsl:key name="prodids" match="ProdID" use="."/>
<xsl:template match="/">
<Proposal>
<Products>
<xsl:for-each select="//ProdID[generate-id(.)=
generate-id(key('prodids',.)[1])]">
<ProdId><xsl:value-of select="normalize-space(.)"/></ProdId>
</xsl:for-each>
</Products>
</Proposal>
</xsl:template>
</xsl:stylesheet>
t:\ftemp>xslt karthik.xml karthik.xsl con
<?xml version="1.0" encoding="utf-8"?>
<Proposal>
<Products>
<ProdId>1234</ProdId>
<ProdId>5678</ProdId>
</Products>
</Proposal>
t:\ftemp>
--
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds: publicly-available developer resources and training
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
Male Cancer Awareness Aug'05 http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
--~------------------------------------------------------------------
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>
--~--