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(_at_)edigitplus(_dot_)com
<jmcreynolds(_at_)edigitplus(_dot_)com> 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 XSLT…and I am enjoying it greatly. If I
could only get over this one hump…
Many thanks in advance,
JOHN
--
Regards,
Mukul Gandhi
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--