[xsl] combine on key and dedupe

Subject: [xsl] combine on key and dedupe
From: Joyce Chapman <joyce.chapman@xxxxxxxxx>
Date: Mon, 22 Mar 2010 21:38:22 -0400
Any advice on how to do the following would be greatly appreciated. I
need to combine and dedupe a list of authors, compiling all children
of grouped <author> into one <author> (grouped on <authorizedName>),
but deduping the <authorizedName>. See example below. I think I need
to use an XSL 2.0 for-each-group, but am not sure how. Duplicate
author elements will not be adjacent to each other. Thanks for any
help!

Two author records for the same <authorizedName>:

<author>
  <authorizedName>Joe Bob</authorizedName>
  <nickName>J-Bob</nickName>
  <title>Title1</title>
</author>

<author>
  <authorizedName>Joe Bob</authorizedName>
  <nickName>Joe</nickName>
  <title>Title2</title>
</author>

Turn into a single author record, compiling all children but deduping
<authorizedName>:

<author>
  <authorizedName>Joe Bob</authorizedName>
  <nickName>Joe</nickName>
  <nickName>J-Bob</nickName>
  <exampleTitle>Title1</exampleTitle>
  <exampleTitle>Title2</exampleTitle>
</author>

Current Thread