Subject: [xsl] Grouping using concatenated key From: jmcreynolds@xxxxxxxxxxxxxx Date: Mon, 11 Dec 2006 09:39:35 -0600 (CST) |
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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Converting xml to csv, Sven Waibel | Thread | Re: [xsl] Grouping using concatenat, David Carlisle |
Re: [xsl] XSLT 1.0 newbie: sum of s, Florent Georges | Date | Re: [xsl] Grouping using concatenat, David Carlisle |
Month |