I got some dataset with ads of diffrent companys.
for example
<jobs>
<job>
<company>A</company>
<value>Testvalue</value>
</job>
<job>
<company>A</company>
<value>Testvalue</value>
</job>
<job>
<company>B</company>
<value>Testvalue</value>
</job>
<job>
<company>C</company>
<value>Testvalue</value>
</job>
</jobs>
What I´m trying to do is generate a custom output. I want to have only 1 record for each company
Example output wanted:
<jobs>
<job>
<company>A</company>
<value>Testvalue</value>
</job>
<job>
<company>B</company>
<value>Testvalue</value>
</job>
<job>
<company>C</company>
<value>Testvalue</value>
</job>
</jobs>
What I try'ed is the following:
If company is not within array, append it to an array & append the item to another array.
(: loop through job in jobs :)
for $ad in //jobs/job
(: firmenarray, "unique" ads :)
let $companys := ()
let $ads := ()
(: declare company of ad:)
let $company := $ad//company[1]
(: if ad/company not within companyarray > add & concat to ads :)
let $test := if(not(fn:index-of($companys, $company))) then(
(: add ad/company to companys :)
$companys = fn:insert-before($companys, 0, $company),
(: add jobs/job to ads :)
$ads = fn:insert-before($ads, 0, $ad)
)
return $ads
somehow It does not work and im kind of stuck finding out why...