This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Intersection Problem
- To: <xsl-list at mulberrytech dot com>
- Subject: RE: Intersection Problem
- From: "Carlos Sanchez" <carlos at ktsi dot com>
- Date: Tue, 25 Jul 2000 08:38:59 -0500
- Reply-To: xsl-list at mulberrytech dot com
My apologies for not being more explicit, a document 1 that looks as
follows:
<statResult>
<drilldowns>
<drilldown>
<drilldownType>Asset Type</drilldownType>
<drilldownName>Equity</drilldownName>
</drilldown>
</drilldowns>
<result>-1356377.20628428</result>
</statResult>
<statResult>
<drilldowns>
<drilldown>
<drilldownType>Book Location</drilldownType>
<drilldownName> Unspecified</drilldownName>
</drilldown>
</drilldowns>
<result>-9176.92978551714</result>
</statResult>
<statResult>
<drilldowns>
<drilldown>
<drilldownType>Book Location</drilldownType>
<drilldownName>New York</drilldownName>
</drilldown>
</drilldowns>
<result>-1356377.20628428</result>
</statResult>
<statResult>
<drilldowns>
<drilldown>
<drilldownType>Netting Agreement</drilldownType>
<drilldownName> Unspecified</drilldownName>
</drilldown>
<drilldown>
<drilldownType>Asset Type</drilldownType>
<drilldownName>Bond</drilldownName>
</drilldown>
<drilldown>
<drilldownType>Book Location</drilldownType>
<drilldownName> Unspecified</drilldownName>
</drilldown>
</drilldowns>
<result>-8225.23157709444</result>
</statResult>
<statResult>
<drilldowns>
<drilldown>
<drilldownType>Asset Type</drilldownType>
<drilldownName>Bond</drilldownName>
</drilldown>
<drilldown>
<drilldownType>Book Location</drilldownType>
<drilldownName> Unspecified</drilldownName>
</drilldown>
</drilldowns>
<result>-8225.23157709444</result>
</statResult>
<statResult>
<drilldowns>
<drilldown>
<drilldownType>Netting Agreement</drilldownType>
<drilldownName> Unspecified</drilldownName>
</drilldown>
<drilldown>
<drilldownType>Asset Type</drilldownType>
<drilldownName>Cash</drilldownName>
</drilldown>
<drilldown>
<drilldownType>Book Location</drilldownType>
<drilldownName> Unspecified</drilldownName>
</drilldown>
</drilldowns>
<result>-5329.77247378227</result>
</statResult>
<statResult>
<drilldowns>
<drilldown>
<drilldownType>Asset Type</drilldownType>
<drilldownName>Cash</drilldownName>
</drilldown>
<drilldown>
<drilldownType>Book Location</drilldownType>
<drilldownName> Unspecified</drilldownName>
</drilldown>
</drilldowns>
<result>-4657.82</result>
</statResult>
and a document 2:
<drilldowns>
<drilldown>
<drilldownType>Asset Type</drilldownType>
</drilldown>
<drilldown>
<drilldownType>Book Location</drilldownType>
</drilldown>
</drilldowns>
I want to be able to get the result tag in document 1 for those statResult
which contain the same drilldownTypes (number and content) as in document 2.
The expected result should be:
<results>
<result>-8225.23157709444</result>
<result>-4657.82</result>
</results>
Thx a lot
Carlos Sanchez
The RiskMetrics Group
-----Original Message-----
From: owner-xsl-list@mulberrytech.com
[mailto:owner-xsl-list@mulberrytech.com]On Behalf Of Kay Michael
Sent: Tuesday, July 25, 2000 5:24 AM
To: 'xsl-list@mulberrytech.com'
Subject: RE: Intersection Problem
> How I can "Intersect" document 2 with document 1 so that it brings the
> <statResult> nodes which have the equal number or more
> drilldown nodes found
> in doc 2. (The intersection key is drilldownType)
I'm not really sure what you mean by "intersect" - it would help to give an
indication of the output you expect. I suspect you mean that you want to
augment document2 by adding the drillDownName corresponding to each
drillDownType. (I'd call that a join rather than an intersection). The
obvious way to do this is to define a key:
<xsl:key name="ddt" match="DrillDown" use="DrillDownType"/>
and then process document 2 by writing:
<xsl:template match="drillDown">
<xsl:copy-of select="DrillDownType"/>
<xsl:variable name="ddt" select="DrillDownType"/>
<xsl:for-each select="document('doc1')">
<xsl:copy-of select="key('ddt', $ddt)/DrillDownName"/>
</xsl:for-each>
</xsl:template>
Mike Kay
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list