|
[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Concatenate and unique values
Subject: Re: Concatenate and unique values
From: Geert Josten <Geert.Josten@xxxxxxxxxxx>
Date: Fri, 12 Nov 2004 16:23:52 +0100
|
Should related to the grouping problem that is discussed on various places. Look for instance at
http://www.jenitennison.com/xslt/index.html
Basically you need a key that holds all combinations and then use generate-id to pick the first of
each unique combination.
(top level)
<xsl:key name="diseases" match="Disease" use="concat(SymptomNum, '-', Pulse, '-', HeartBeat)" />
<xsl:template match="Disease">
<xsl:if test="generate-id(.) = generate-id(key('diseases', concat(SymptomNum, '-', Pulse, '-',
HeartBeat)[1])">
<!-- show the disease, this is the first of the unique combination -->
</xsl:if>
</xsl:template>
Or replace the xsl:template by the for-each if you prefer that...
Grtz,
Geert
pnayak@xxxxxxx wrote:
Hi All
SymptomNum is sequential from 0 till the number of rows of data. Each row has SymptomNum, Pulse and Heart-beat. Across all the SymptomNum, I want to find the unqiue combinations of Pulse and Heart-beat existing in the data. There may be repitions, so I want to ignore them.
<xsl:for-each select="//Health/Disease[(./SymptomNum)>=0]">
<xsl:variable name="current-sym-num" select="./SymptomNum"/>
<xsl:variable name="pulse-val" select="./Pulse"/>
<xsl:variable name="heart-beat-val" select="./HeartBeat"/>
<xsl:variable name="sym-summary" select="concat($pulse-val, ' ', $heart-beat-val)"/>
<!-- Display all unique combinations of pulse-val and heart-beat-val -->
<xsl:if test="$pulse-val and $heart-beat-val">
How do i find that this current combination of pulse-val and heart-beat-val is unique?
</xsl:if>
</xsl:for-each>
I have been using this logic to get unique values of pulse values:
<xsl:variable name="unique-pulse-num" select="//Health/Disease/Pulse[not(.=following::Pulse)]" />
<xsl:for-each select="$unique-pulse-num">
<xsl:value-of select="." />,
</xsl:for-each>
Can this logic be extended to multiple attributes of an element? Can anyone help me with this logic? Thanks in advance,
Pragyan
--
Geert.Josten@xxxxxxxxxxx
IT-consultant at Daidalos BV, Zoetermeer (NL)
http://www.daidalos.nl/
tel:+31-(0)79-3316961
fax:+31-(0)79-3316464
GPG: 1024D/12DEBB50

|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
| RSS 2.0 |
|
| Atom 0.3 |
|
|