This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Unique set values
- To: <xsl-list at mulberrytech dot com>
- Subject: RE: Unique set values
- From: "Carlos Sanchez" <carlos at ktsi dot com>
- Date: Tue, 13 Jun 2000 13:56:02 -0500
- Reply-To: xsl-list at mulberrytech dot com
Mike,
I am currently working w/ XALAN and I have implemented the following using a
java extension. It does what I want, however, I am not quite happy as I had
to use java. Do you have any suggestion?
Thx,
Carlos
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:java="http://xml.apache.org/xslt/java"
exclude-result-prefixes="java"
version="1.0">>
<!-- Set output method -->
<xsl:output method="xml" indent="yes"/>
<xsl:variable name="tuple-hash" select="java:java.util.Hashtable.new()"/>
<xsl:template match="/">
<statistics>
<xsl:for-each select="/results/statResults/statResult">
<xsl:sort select="methodology"/>
<xsl:sort select="statName"/>
<xsl:sort select="parameter"/>
<xsl:variable name="tuple">
<xsl:value-of select="methodology"/>*<xsl:value-of
select="statName"/>:<xsl:value-of select="parameter"/>
</xsl:variable>
<xsl:variable name="proc"
select="java:containsKey($tuple-hash,string($tuple))"/>
<!-- Check if node has already been processed -->
<xsl:if test="(string($proc) != 'true')">
<!-- Add node to hash -->
<xsl:variable name="nId" select="generate-id(.)"/>
<xsl:variable name="tmp" select="java:put($tuple-hash,
string($tuple), $nId)"/>
<statistic>
<statName><xsl:value-of select="statName"/></statName>
<parameter><xsl:value-of select="parameter"/></parameter>
<methodology><xsl:value-of select="methodology"/></methodology>
</statistic>
</xsl:if>
</xsl:for-each>
</statistics>
</xsl:template>
-----Original Message-----
From: owner-xsl-list@mulberrytech.com
[mailto:owner-xsl-list@mulberrytech.com]On Behalf Of Kay Michael
Sent: Tuesday, June 13, 2000 4:43 AM
To: 'xsl-list@mulberrytech.com'
Subject: RE: Unique set values
> I want to be able to return unique 3-tuple value consisting
> of methodology, statName, and parameter. That is
Take a look in the Dave Pawson FAQ under sorting and grouping.
Mike Kay
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
-----Original Message-----
From: owner-xsl-list@mulberrytech.com
[mailto:owner-xsl-list@mulberrytech.com]On Behalf Of Carlos Sanchez
Sent: Tuesday, June 12, 2000 4:45 PM
To: 'xsl-list@mulberrytech.com'
Subject: Unique set values
Hi I have the following XML
<statResults>
<statResult>
<valSpecId>1</valSpecId>
<methodology>parametric</methodology>
<statName>ConditionalMean</statName>
<parameter>0.05</parameter>
<result>-0.951696710686655</result>
</statResult>
<statResult>
<valSpecId>2</valSpecId>
<methodology>parametric</methodology>
<statName>ConditionalMean</statName>
<parameter>0.05</parameter>
<result>-219.796643247407</result>
</statResult>
<statResult>
<valSpecId>1</valSpecId>
<methodology>parametric</methodology>
<statName>ConditionalMean</statName>
<parameter>0.07</parameter>
<result>-219.796643247407</result>
</statResult>
<statResult>
<valSpecId>2</valSpecId>
<methodology>parametric</methodology>
<statName>ConditionalMean</statName>
<parameter>0.07</parameter>
<result>-219.787907827418</result>
</statResult>
<statResult>
<valSpecId>2</valSpecId>
<methodology>parametric</methodology>
<statName>VaR</statName>
<parameter>0.97</parameter>
<result>3.26</result>
</statResult>
...
I want to be able to return unique 3-tuple value consisting of methodology,
statName, and parameter. That is
<statResult>
<methodology>parametric</methodology>
<statName>ConditionalMean</statName>
<parameter>0.05</parameter>
<statResult>
<statResult>
<methodology>parametric</methodology>
<statName>ConditionalMean</statName>
<parameter>0.07</parameter>
<statResult>
<statResult>
<methodology>parametric</methodology>
<statName>VaR</statName>
<parameter>0.97</parameter>
<statResult>
Thx,
Carlos Sanchez
The RiskMetrics Group
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list