это урезанный пример моего xml
<Albums>
<Album id="1">
<info>sdkjsdaln</info>
</Album>
<Album id="2">
<info>asdlnasd</info>
</Album>
<Album id="3">
<info>sadsasd</info>
</Album>
</Albums>
Я использую функцию расширения, чтобы получить больше данных
<xsl:template match="Album">
<xsl:variable name="Album" select="mfeg:GetAlbumMetadata(@id)"/>
</xsl:template>
Затем у меня есть переменная $ Album, на которую я ссылаюсь, чтобы получить все дополнительные данные, как показано ниже
<Album>
<Tracks>
<Track>
<Contributors>
<Contributor>Tim</Contributor>
<Contributor>Alfie</Contributor>
</Contributors>
</Track>
<Track>
<Contributors>
<Contributor>Tim</Contributor>
<Contributor>Alfie</Contributor>
</Contributors>
</Track>
<Track>
<Contributors>
<Contributor>Kevin</Contributor>
<Contributor>Sam</Contributor>
</Contributors>
</Track>
</Tracks>
</Album>
Я пытаюсь получить уникальных участников, я не знаю, как / если возможно использовать ключ в моей переменной $ Album для получения необходимых мне данных. Я попробовал xpath ниже, но он не работает.
$Album/Tracks/Track/Contributors/Contributor[not(.=preceding-sibling::Name)]
Любая помощь будет оценена!