Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

XML/XSLT newbie. Sorting for separate categories within table.

Status
Not open for further replies.

svetik

Technical User
Sep 2, 2001
1
US
Hi all. I am trying to parse an XML document and transform the result into a table that allows sorting. I have the following XML structure:

<CONSOLIDATED>
<RESULTSET>
<ROW>
<ACCOUNT>100027</ACCOUNT>
<SETTLEDATE>07/22/01</SETTLEDATE>
<BUYSELL>S</BUYSELL>
<TOTSHARES>2</TOTSHARES>
<NETAMT>49.0</NETAMT>
</ROW>
<ROW>
<ACCOUNT>100027</ACCOUNT>
<SETTLEDATE>07/24/02</SETTLEDATE>
<BUYSELL>B</BUYSELL>
<TOTSHARES>1</TOTSHARES>
<NETAMT>42.0</NETAMT>
</ROW>
<SUBTOTAL>
<INFO><![CDATA[Sub Total]]></INFO>
<SUBAMOUNT>7</SUBAMOUNT>
</SUBTOTAL>
</RESULTSET>
<RESULTSET>
<ROW>
<ACCOUNT>100032</ACCOUNT>
<SETTLEDATE>08/25/02</SETTLEDATE>
<BUYSELL>S</BUYSELL>
<TOTSHARES>1</TOTSHARES>
<NETAMT>58.0</NETAMT>
</ROW>
<ROW>
<ACCOUNT>100032</ACCOUNT>
<SETTLEDATE>09/11/02</SETTLEDATE>
<BUYSELL>B</BUYSELL>
<TOTSHARES>1</TOTSHARES>
<NETAMT>16.0</NETAMT>
</ROW>
<SUBTOTAL>
<INFO><![CDATA[Sub Total]]></INFO>
<SUBAMOUNT>32</SUBAMOUNT>
</SUBTOTAL>
</RESULTSET>
<TOTALS>
<INFO>Total</INFO>
<TOTALAMT>64</TOTALAMT>
</TOTALS>
</CONSOLIDATED>

Now I need to transform it to something like this.

Account | Settle Date | B/S | Shares | Amount
-----------------------------------------------
100027 07/22/01 S 1 49
100027 07/24/01 B 1 42
Subtotal 7
----------------------------------------------
100032 08/25/01 S 1 58
100032 09/11/01 B 1 16
Subtotal 42
---------------------------------------------
Total 49

I need to be able to click on Settle Date for example and sort in each category separately. I am very new to all this and so far had no success :(. This is what I am doing:

<xsl:stylesheet version=&quot;1.0&quot; xmlns:xsl=&quot;
<xsl:template match=&quot;CONSOLIDATED&quot;>
<TABLE>
<TR><TD ALIGN=&quot;CENTER&quot;>
<TABLE>
<TR CLASS=&quot;TableHeader&quot;>
<TD><A HREF=&quot;javascript:dataSort('ACCOUNT' ,'text' )&quot;>Account </A></TD>
<TD><A HREF=&quot;javascript:dataSort('SETTLEDATE' ,'text' )&quot;>S/D </A></TD>
<TD><A HREF=&quot;javascript:dataSort('BUYSELL','text' )&quot;>B/S </A></TD>
<TD><A HREF=&quot;javascript:dataSort('TOTSHARES','number')&quot;>Qty </A></TD>
<TD><A HREF=&quot;javascript:dataSort('NETAMT','number')&quot;>Net Amount</A></TD>
</TR>
<xsl:apply-templates select=&quot;RESULTSET&quot;>
<xsl:for-each select=&quot;ROW&quot;>
<xsl:sort select=&quot;ACCOUNT&quot;/>
</xsl:for-each>
</xsl:apply-templates>
</TABLE>
</TD></TR>

</TABLE>

</xsl:template>

<xsl:template match=&quot;RESULTSET&quot;>
<xsl:for-each select=&quot;ROW&quot;>
<TR>
<TD><xsl:value-of select=&quot;ACCOUNT&quot;/> </TD>
<TD><xsl:value-of select=&quot;SETTLEDATE&quot;/></TD>
<TD><xsl:value-of select=&quot;BUYSELL&quot;/> </TD>
<TD><xsl:value-of select=&quot;TOTSHARES&quot;/> </TD>
<TD><xsl:value-of select=&quot;NETAMT&quot;/> </TD>
</TR>
</xsl:for-each>
</xsl:template>

</xsl:stylesheet>

where dataSort is a Java Script function. Can anyone tell me what I am doing wrong. Thanks!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top