[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Grouping using concatenated key
Subject: Re: Grouping using concatenated key
From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx>
Date: Mon, 11 Dec 2006 21:27:35 +0530
|
David has suggested the right approach..
To add to his answer, I would suggest a key definition like:
<xsl:key name="byObligationAndPhone" match="BillDetail"
use="concat(OBLIGATION_ID, ':', PHONE_NUMBER)" />
This is more safe for a 2 level grouping.
On 12/11/06, jmcreynolds@xxxxxxxxxxxxxx <jmcreynolds@xxxxxxxxxxxxxx> wrote:
All,
I have been wrestling with this problem for about 3 days now. I have
looked at the examples that Jenni has provided, but I am just not getting
it quite right.
Here is some example XML that I am using:
<BillDetail>
<BILLING_DT>2006-12-01T00:00:00-06:00</BILLING_DT>
<BILL_TO_ACCT_ID>11111</BILL_TO_ACCT_ID>
<ACCT_ID>13893</ACCT_ID>
<PHONE_NUMBER>1234567890</PHONE_NUMBER>
<TO_NUMBER>9876543210</TO_NUMBER>
<TO_CITY>CREVE COEU</TO_CITY>
<TO_STATE>MO</TO_STATE>
<RATE_PERIOD>1</RATE_PERIOD>
<RATE_PERIOD_NAME>Day</RATE_PERIOD_NAME>
<MINUTES>1</MINUTES>
<AMOUNT>0.22</AMOUNT>
<DISCOUNTED_AMT>0.09</DISCOUNTED_AMT>
<SURCHARGE_AMT>0</SURCHARGE_AMT>
<FEDERAL_TAX>0</FEDERAL_TAX>
<STATE_TAX>0</STATE_TAX>
<COUNTY_TAX>0</COUNTY_TAX>
<CITY_TAX>0</CITY_TAX>
<FROM_NUMBER>1234567890</FROM_NUMBER>
<FROM_CITY>NEW HAVEN </FROM_CITY>
<FROM_STATE>MO</FROM_STATE>
<SOURCE>TCSI</SOURCE>
<CIC_ID>444</CIC_ID>
<CALL_DATE_TIME>2006-11-02T14:43:30-06:00</CALL_DATE_TIME>
<CALL_MINUTES>0</CALL_MINUTES>
<CALL_SECONDS>42</CALL_SECONDS>
<BATCH_ID>987</BATCH_ID>
<CALL_ID>135</CALL_ID>
<CATEGORY>1</CATEGORY>
<GROUP_NO>1</GROUP_NO>
<ID_NO>1</ID_NO>
<EMR_MESSAGE_TYPE_ID>1</EMR_MESSAGE_TYPE_ID>
<SETTLEMENT_CODE>8</SETTLEMENT_CODE>
<METHOD_OF_RECORDING>2</METHOD_OF_RECORDING>
<RATE_CLASS>4</RATE_CLASS>
<INDICATORS>000000000000000000500000000000</INDICATORS>
<DISCOUNT_PLAN_IND>*</DISCOUNT_PLAN_IND>
<BILL_GROUP_ID>24</BILL_GROUP_ID>
<SERV_RATE_CODE>FLTAMBVD</SERV_RATE_CODE>
<CALL_INDICATOR_ID>26</CALL_INDICATOR_ID>
<ACCT_DISPLAY_ORDER>6</ACCT_DISPLAY_ORDER>
<OBLIGATION_ID>2345</OBLIGATION_ID>
<FRANCH_TAX>0</FRANCH_TAX>
</BillDetail>
<BillDetail>
<BILLING_DT>2006-12-01T00:00:00-06:00</BILLING_DT>
<BILL_TO_ACCT_ID>11111</BILL_TO_ACCT_ID>
<ACCT_ID>13893</ACCT_ID>
<PHONE_NUMBER>4567891230</PHONE_NUMBER>
<TO_NUMBER>3216549870</TO_NUMBER>
<TO_CITY>WASHINGTON</TO_CITY>
<TO_STATE>MO</TO_STATE>
<RATE_PERIOD>1</RATE_PERIOD>
<RATE_PERIOD_NAME>Day</RATE_PERIOD_NAME>
<MINUTES>1</MINUTES>
<AMOUNT>0.22</AMOUNT>
<DISCOUNTED_AMT>0.09</DISCOUNTED_AMT>
<SURCHARGE_AMT>0</SURCHARGE_AMT>
<FEDERAL_TAX>0</FEDERAL_TAX>
<STATE_TAX>0</STATE_TAX>
<COUNTY_TAX>0</COUNTY_TAX>
<CITY_TAX>0</CITY_TAX>
<FROM_NUMBER>7418529630</FROM_NUMBER>
<FROM_CITY>NEW HAVEN </FROM_CITY>
<FROM_STATE>MO</FROM_STATE>
<SOURCE>TCSI</SOURCE>
<CIC_ID>444</CIC_ID>
<CALL_DATE_TIME>2006-11-03T09:46:04-06:00</CALL_DATE_TIME>
<CALL_MINUTES>0</CALL_MINUTES>
<CALL_SECONDS>24</CALL_SECONDS>
<BATCH_ID>987</BATCH_ID>
<CALL_ID>2812</CALL_ID>
<CATEGORY>1</CATEGORY>
<GROUP_NO>1</GROUP_NO>
<ID_NO>1</ID_NO>
<EMR_MESSAGE_TYPE_ID>1</EMR_MESSAGE_TYPE_ID>
<SETTLEMENT_CODE>8</SETTLEMENT_CODE>
<METHOD_OF_RECORDING>2</METHOD_OF_RECORDING>
<RATE_CLASS>4</RATE_CLASS>
<INDICATORS>000000000000000000500000000000</INDICATORS>
<DISCOUNT_PLAN_IND>*</DISCOUNT_PLAN_IND>
<BILL_GROUP_ID>24</BILL_GROUP_ID>
<SERV_RATE_CODE>FLTAMBVD</SERV_RATE_CODE>
<CALL_INDICATOR_ID>26</CALL_INDICATOR_ID>
<ACCT_DISPLAY_ORDER>6</ACCT_DISPLAY_ORDER>
<OBLIGATION_ID>00000000</OBLIGATION_ID>
<FRANCH_TAX>0</FRANCH_TAX>
</BillDetail>
These are just 2 dummied up records. What I need to do is group these
records first by OBLIGATION_ID then by PHONENUMBER, and then display the
results. Here is the key I am trying to use to accomplish this:
<xsl:key name="byObligationAndPhone" match="BillDetail"
use="concat(OBLIGATION_ID, PHONE_NUMBER)" />
I have tried looping through the XML using this key to no avail. Could
someone steer me in the right direction?
Basically, here is what I am wanting to see:
Begin loop
Calls for OBLIGATION_ID
.
.
.
Calls for PHONE_NUMBER (that has the same OBLIGATION_ID from above)
End Loop
I need to loop through all <BillDetail> nodes, breaking it down by
OBLIGATION_ID, then beneath each OBLIGATION_ID, I need to break it down by
PHONE_NUMBER.
This is my first project using XSLTand I am enjoying it greatly. If I
could only get over this one hump
Many thanks in advance,
JOHN
--
Regards,
Mukul Gandhi
Current Thread |
Mukul Gandhi - 11 Dec 2006 15:57:56 -0000 <=
|
|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
RSS 2.0 |
|
Atom 0.3 |
|
|