I found this page describing the Muenchian method, but I think I’m applying it wrong.
Consider that this would return a set of ages:
/doc/class/person/descriptive[(@name='age')]/value
1..2..2..2..3..3..4..7
But I would like a nodeset only one node for each age.
1..2..3..4..7
Each of these seem to return all of the values, instead of unique values:
/doc/class/person/descriptive[(@name='age')][not(value=preceding-sibling::value)]/value /doc/class/person/descriptive[(@name='age')]/value[not(value=preceding-sibling::value)]
What am I missing?
Here’s an example:
And the XPath:
Results: A B C D
EDIT: As mousio commented this doesn’t capture the last item in a list if it’s the only time it appears. Taking that and Fëanor’s comment into account, here’s a better solution: