Subject: [xsl] Display the number of records in a group From: anil kumar <anar.leti@xxxxxxxxx> Date: Mon, 8 Mar 2010 18:34:41 +0530 |
HI, I want to display the number of records in a group, expected o/p is <mezo eazon="0A0001D003A">8</mezo> current o/p : <mezo eazon="0A0001D003A">11111111</mezo> my xsl : <xsl:template match="/"> <mezo eazon="0A0001D003A"> <xsl:apply-templates select=".//ARXEURSL" mode="temp2"> </xsl:apply-templates></mezo><xsl:text>
</xsl:text> </xsl:template> <xsl:template name="ttpgds" match="ARXEURSL" mode="temp2"> <xsl:for-each-group select="G_ROW[INTRA_EU_TRX_CODE = ('GOOD','TRIANGULATION')]" group-by="concat(VAT_TAX_NO,BILL_CUST_NAME,INTRA_EU_TRX_CODE)"> <xsl:value-of select="sum(count(COUNTRY_CODE))"/> </xsl:for-each-group> </xsl:template> </xsl:stylesheet> How to show the toatal number of records, ima failing to get this by last() because iam grouping 11 records into 8 , so the value of last() is giving 11 which is in correct my xml : <?xml version="1.0" encoding="UTF-8"?> <ARXEURSL> <P_REPORT_TYPE>D</P_REPORT_TYPE> <P_INTRA_EU_GOODS_TRX>GOOD</P_INTRA_EU_GOODS_TRX> <P_INTRA_EU_SERVICES_TRX>SERVICE</P_INTRA_EU_SERVICES_TRX> <P_INTRA_EU_VAT_TRX_1>TRIANGULATION</P_INTRA_EU_VAT_TRX_1> <G_SOB> <SOB_NAME>Progress UK</SOB_NAME> <TRADER_VAT_NO>BE21212121</TRADER_VAT_NO> <SOB_CURRENCY>GBP</SOB_CURRENCY> </G_SOB> <G_REMIT_TO> <ADDRESS1>TEST ADD FOR XML Testing BE</ADDRESS1> <ADDRESS2/> <ADDRESS3/> <ADDRESS4/> <CITY>VIZAG</CITY> <POSTAL_CODE>54321</POSTAL_CODE> <STATE/> <COUNTRY/> </G_REMIT_TO> <G_ROW> <COUNTRY_CODE>BE</COUNTRY_CODE> <VAT_TAX_NO>123</VAT_TAX_NO> <BILL_CUST_NAME>ABC</BILL_CUST_NAME> <ACCTD_AMOUNT>10</ACCTD_AMOUNT> <INTRA_EU_TRX_CODE>GOOD</INTRA_EU_TRX_CODE> </G_ROW> <G_ROW> <COUNTRY_CODE>BE</COUNTRY_CODE> <VAT_TAX_NO>123</VAT_TAX_NO> <BILL_CUST_NAME>ABC</BILL_CUST_NAME> <ACCTD_AMOUNT>20</ACCTD_AMOUNT> <INTRA_EU_TRX_CODE>GOOD</INTRA_EU_TRX_CODE> </G_ROW> <G_ROW> <COUNTRY_CODE>BE</COUNTRY_CODE> <VAT_TAX_NO>123</VAT_TAX_NO> <BILL_CUST_NAME>ABC</BILL_CUST_NAME> <ACCTD_AMOUNT>30</ACCTD_AMOUNT> <INTRA_EU_TRX_CODE>GOOD</INTRA_EU_TRX_CODE> </G_ROW> <G_ROW> <COUNTRY_CODE>AT</COUNTRY_CODE> <VAT_TAX_NO>456</VAT_TAX_NO> <BILL_CUST_NAME>DEF</BILL_CUST_NAME> <ACCTD_AMOUNT>10</ACCTD_AMOUNT> <INTRA_EU_TRX_CODE>GOOD</INTRA_EU_TRX_CODE> </G_ROW> <G_ROW> <COUNTRY_CODE>IND</COUNTRY_CODE> <VAT_TAX_NO>789</VAT_TAX_NO> <BILL_CUST_NAME>GHI</BILL_CUST_NAME> <ACCTD_AMOUNT>10</ACCTD_AMOUNT> <INTRA_EU_TRX_CODE>GOOD</INTRA_EU_TRX_CODE> </G_ROW> <G_ROW> <COUNTRY_CODE>IND</COUNTRY_CODE> <VAT_TAX_NO>567</VAT_TAX_NO> <BILL_CUST_NAME>JKL</BILL_CUST_NAME> <ACCTD_AMOUNT>10</ACCTD_AMOUNT> <INTRA_EU_TRX_CODE>GOOD</INTRA_EU_TRX_CODE> </G_ROW> <G_ROW> <COUNTRY_CODE>IND</COUNTRY_CODE> <VAT_TAX_NO>234</VAT_TAX_NO> <BILL_CUST_NAME>BCD</BILL_CUST_NAME> <ACCTD_AMOUNT>20</ACCTD_AMOUNT> <INTRA_EU_TRX_CODE>GOOD</INTRA_EU_TRX_CODE> </G_ROW> <G_ROW> <COUNTRY_CODE>IND</COUNTRY_CODE> <VAT_TAX_NO>345</VAT_TAX_NO> <BILL_CUST_NAME>CDE</BILL_CUST_NAME> <ACCTD_AMOUNT>20</ACCTD_AMOUNT> <INTRA_EU_TRX_CODE>GOOD</INTRA_EU_TRX_CODE> </G_ROW> <G_ROW> <COUNTRY_CODE>UK</COUNTRY_CODE> <VAT_TAX_NO>678</VAT_TAX_NO> <BILL_CUST_NAME>TTT</BILL_CUST_NAME> <ACCTD_AMOUNT>30</ACCTD_AMOUNT> <INTRA_EU_TRX_CODE>TRIANGULATION</INTRA_EU_TRX_CODE> </G_ROW> <G_ROW> <COUNTRY_CODE>UK</COUNTRY_CODE> <VAT_TAX_NO>678</VAT_TAX_NO> <BILL_CUST_NAME>TTT</BILL_CUST_NAME> <ACCTD_AMOUNT>20</ACCTD_AMOUNT> <INTRA_EU_TRX_CODE>TRIANGULATION</INTRA_EU_TRX_CODE> </G_ROW> <G_ROW> <COUNTRY_CODE>UK</COUNTRY_CODE> <VAT_TAX_NO>321</VAT_TAX_NO> <BILL_CUST_NAME>TRA</BILL_CUST_NAME> <ACCTD_AMOUNT>10</ACCTD_AMOUNT> <INTRA_EU_TRX_CODE>TRIANGULATION</INTRA_EU_TRX_CODE> </G_ROW> </ARXEURSL> Thanks Anil
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to emit opening and c, David Carlisle | Thread | Re: [xsl] Display the number of rec, Martin Honnen |
Re: [xsl] junit test... for xslt2?, Dave Pawson | Date | Re: [xsl] Display the number of rec, Martin Honnen |
Month |