I feel, it should be possible with xsl:sort .. Its
difficult to understand where xsl:for-each starts in
the XSL, and for what purpose you are using
generate-id .. It *seems you want to do Muenchian
grouping *..
If you can clarify the problem more --
the XML structure(at least provide 2,3 more <ENTITY>
tags),
complete the missing parts of XSL(I cannot see the
attribute TOTAL_FUND_VALUE_NET, which you have
mentioned in XSL),
how you want the grouping to be done, and
the desired output .. somebody can give suggestion..
Regards,
Mukul
--- "Lee, Insoo" <Insoo(_dot_)Lee(_at_)gs(_dot_)com> wrote:
Hello -
I'm having trouble sorting the item grouped by
generate-id()...
I have xml that looks like
<REPORT>
<ENTITY>
<FUND_CURRENCY_GROUP CURRENCY="GBP">
<FUND_CODE_GROUP TA_FUND_CODE="G631">
<FUND_ROW>
<TRADE_TYPE>PUR</TRADE_TYPE>
</FUND_ROW>
</FUND_CODE_GROUP>
</FUND_CURRENCY_GROUP>
<FUND_CURRENCY_GROUP CURRENCY="USD">
<FUND_CODE_GROUP TA_FUND_CODE="U631">
<FUND_ROW>
<TRADE_TYPE>PUR</TRADE_TYPE>
</FUND_ROW>
</FUND_CODE_GROUP>
</FUND_CURRENCY_GROUP>
</ENTITY>
and many more ENTITY like this
</REPORT>
XSL looks like follwing:
<xsl:variable name="currencies"
select="//FUND_CURRENCY_GROUP"/>
<xsl:if
test="generate-id(.)=
generate-id(
$currencies[ @CURRENCY =
current()/@CURRENCY ] )">
<tr>
<td colspan="4"><b>Grand
Total Purchases
(<xsl:value-of select="@CURRENCY"/>):</b></td>
<td align="right"
width="14%"> </td>
<td align="right"
width="14%"> </td>
</tr>
<tr>
<td colspan="4"><b>Grand
Total Redemptions
(<xsl:value-of select="@CURRENCY"/>):</b></td>
<td align="right"
width="14%"> </td>
<td align="right"
width="14%"> </td>
</tr>
<tr>
<td colspan="4"><b>Grand
Total Net Change
(<xsl:value-of select="@CURRENCY"/>):</b></td>
<td align="right"
width="14%"> </td>
<td align="right"
width="14%"> </td>
<!-- I would do
something like this, if it works
<td align="right" width="14%"><b><u><xsl:value-of
select="format-number(sum(
$currencies[(_at_)CURRENCY=current()/@CURRENCY]/FUND_CODE_GROUP/@TOTAL_FUND_VALUE
_NET ), '#,###,###,##0.00')"/></u></b></td> -->
</tr>
</xsl:if>
</xsl:for-each>
This would return me cross-entities grouped by
currency
Grand Total Purchases (USD)
Grand Total Purchases (GBP)
Grand Total Purchases (EUR)
This is good, but is there anyway to combine
sorting with this
generate-id() so that it appears alphabetically?
Grand Total Purchases (EUR)
Grand Total Purchases (GBP)
Grand Total Purchases (USD)
Thanks
IL
XSL-List info and archive:
http://www.mulberrytech.com/xsl/xsl-list
__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list