XML : How to merge repeating xml elements in a single xml element based on unique a field using xslt

I have a scenario in which I need to merge the XML elements in a single root element based on unique field.

Request:

       <?xml version = "1.0" encoding = "UTF-8"?>  <ns0:klanten xmlns:ns0 = "http://integratie.com/typen/klant/klantmvs/1.0">      <ns0:klant xmlns:ns0 = "http://integratie.com/typen/klant/klantmvs/1.0">          <ns0:klantId MVS = "36301586">36301586</ns0:klantId>          <ns0:accounts>              <ns0:account>                  <ns0:accountVolgnummer>3</ns0:accountVolgnummer>                  <ns0:betaalwijze>AGI</ns0:betaalwijze>                  <ns0:classificatie>B2C</ns0:classificatie>                  <ns0:gewensteNotaMedium>VZD</ns0:gewensteNotaMedium>                  <ns0:bankrekening>                      <ns0:bankrekeningnummer>BNGH0285108743</ns0:bankrekeningnummer>                      <ns0:bankrekeninghouder/>                      <ns0:bankrekeningland/>                      <ns0:financieleInstelling/>                      <ns0:standaardrekeningIndicator>true</ns0:standaardrekeningIndicator>                  </ns0:bankrekening>                  <ns0:startdatum>2014-06-05</ns0:startdatum>                  <ns0:einddatum>2014-07-25</ns0:einddatum>                  </ns0:account>          </ns0:accounts>      </ns0:klant>      <ns0:klant xmlns:ns0 = "http://integratie.com/typen/klant/klantmvs/1.0">          <ns0:klantId MVS = "36301586">36301586</ns0:klantId>          <ns0:accounts>              <ns0:account>                  <ns0:accountVolgnummer>464</ns0:accountVolgnummer>                  <ns0:betaalwijze>AGI</ns0:betaalwijze>                  <ns0:classificatie>B2C</ns0:classificatie>                  <ns0:gewensteNotaMedium>VZD</ns0:gewensteNotaMedium>                  <ns0:bankrekening>                      <ns0:bankrekeningnummer>BNGH0285108743</ns0:bankrekeningnummer>                      <ns0:bankrekeninghouder/>                      <ns0:bankrekeningland/>                      <ns0:financieleInstelling/>                      <ns0:standaardrekeningIndicator>true</ns0:standaardrekeningIndicator>                  </ns0:bankrekening>                  <ns0:startdatum>2014-12-12</ns0:startdatum>                  <ns0:einddatum>2015-03-09</ns0:einddatum>                         </ns0:account>          </ns0:accounts>      </ns0:klant>  </ns0:klanten>    

Desired OutPut:

  <?xml version = "1.0" encoding = "UTF-8"?>  <ns0:klanten xmlns:ns0 = "http://integratie.com/typen/klant/klantmvs/1.0">  <ns0:klant xmlns:ns0 = "http://integratie.com/typen/klant/klantmvs/1.0">          <ns0:klantId MVS = "36301586">36301586</ns0:klantId>          <ns0:accounts>              <ns0:account>                  <ns0:accountVolgnummer>464</ns0:accountVolgnummer>                  <ns0:betaalwijze>AGI</ns0:betaalwijze>                  <ns0:classificatie>B2C</ns0:classificatie>                  <ns0:gewensteNotaMedium>VZD</ns0:gewensteNotaMedium>                  <ns0:bankrekening>                      <ns0:bankrekeningnummer>BNGH0285108743</ns0:bankrekeningnummer>                      <ns0:bankrekeninghouder/>                      <ns0:bankrekeningland/>                      <ns0:financieleInstelling/>                      <ns0:standaardrekeningIndicator>true</ns0:standaardrekeningIndicator>                  </ns0:bankrekening>                  <ns0:startdatum>2014-12-12</ns0:startdatum>                  <ns0:einddatum>2015-03-09</ns0:einddatum>              </ns0:account>              <ns0:account>                  <ns0:accountVolgnummer>3</ns0:accountVolgnummer>                  <ns0:betaalwijze>AGI</ns0:betaalwijze>                  <ns0:classificatie>B2C</ns0:classificatie>                  <ns0:gewensteNotaMedium>VZD</ns0:gewensteNotaMedium>                  <ns0:bankrekening>                      <ns0:bankrekeningnummer>BNGH0285108743</ns0:bankrekeningnummer>                      <ns0:bankrekeninghouder/>                      <ns0:bankrekeningland/>                      <ns0:financieleInstelling/>                      <ns0:standaardrekeningIndicator>true</ns0:standaardrekeningIndicator>                  </ns0:bankrekening>                  <ns0:startdatum>2014-06-05</ns0:startdatum>                  <ns0:einddatum>2014-07-25</ns0:einddatum>                  </ns0:account>          </ns0:accounts>      </ns0:klant>  </ns0:klanten>    

I am trying to implement this in tibco but didn't succeed. Can anyone help me to write xslt for it?

No comments:

Post a Comment