How to remove duplicate element based on combination of multiple attributes using xslt



This is how my Input XML looks like:



<?xml version="1.0" encoding="UTF-8"?>
<root>
<Account InceptionDate="03/01/2005" BusinessWorkGroup="US" BusinessUnit="BOS" AccountId="XYZ4321" ISOCurrency="USD" DomicileCountry="USA">
<AssignContact ContactId="123" Type="Administrative Assistant"/>
<AssignContact ContactId="123" Type="Portfolio Manager"/>
<AssignContact ContactId="123" Type="Portfolio Manager"/>
</Account>
<Account InceptionDate="03/01/2006" BusinessWorkGroup="US" BusinessUnit="BOS" AccountId="ABC1231" ISOCurrency="USD" DomicileCountry="USA">
<AssignContact ContactId="543" Type="Administrative Assistant"/>
<AssignContact ContactId="543" Type="Portfolio Manager"/>
<AssignContact ContactId="211" Type="Portfolio Manager"/>
</Account>
<Account InceptionDate="03/01/2010" BusinessWorkGroup="US" BusinessUnit="BOS" AccountId="DUM111" ISOCurrency="USD" DomicileCountry="USA">
<AssignContact ContactId="987" Type="Administrative Assistant"/>
<AssignContact ContactId="987" Type="Administrative Assistant"/>
<AssignContact ContactId="211" Type="Portfolio Manager"/>
</Account>
</root>


My output should look like (Duplicate [combination of ContactId & Type ] should be removed from final xml ):



<?xml version="1.0" encoding="UTF-8"?>
<root>
<Account InceptionDate="03/01/2005" BusinessWorkGroup="US" BusinessUnit="BOS" AccountId="XYZ4321" ISOCurrency="USD" DomicileCountry="USA">
<AssignContact ContactId="123" Type="Administrative Assistant"/>
<AssignContact ContactId="123" Type="Portfolio Manager"/>
</Account>
<Account InceptionDate="03/01/2006" BusinessWorkGroup="US" BusinessUnit="BOS" AccountId="ABC1231" ISOCurrency="USD" DomicileCountry="USA">
<AssignContact ContactId="543" Type="Administrative Assistant"/>
<AssignContact ContactId="543" Type="Portfolio Manager"/>
<AssignContact ContactId="211" Type="Portfolio Manager"/>
</Account>
<Account InceptionDate="03/01/2010" BusinessWorkGroup="US" BusinessUnit="BOS" AccountId="DUM111" ISOCurrency="USD" DomicileCountry="USA">
<AssignContact ContactId="987" Type="Administrative Assistant"/>
<AssignContact ContactId="211" Type="Portfolio Manager"/>
</Account>
</root>

Tiada ulasan:

Catat Ulasan