xsl-list
[Top] [All Lists]

Re: Concatenate and unique values

2004-11-12 08:23:52
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(_at_)gmu(_dot_)edu 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




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




--
Geert(_dot_)Josten(_at_)Daidalos(_dot_)nl
IT-consultant at Daidalos BV, Zoetermeer (NL)

http://www.daidalos.nl/
tel:+31-(0)79-3316961
fax:+31-(0)79-3316464

GPG: 1024D/12DEBB50

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



<Prev in Thread] Current Thread [Next in Thread>