Given this source XML:
<Objects>
<Object>
<Relations>
<Relation>
<Placements>
<Placement>
<Page>6</Page>
<Element>body</Element>
<FrameOrder>3</FrameOrder>
<PageSequence>2</PageSequence>
<PageNumber>6</PageNumber>
</Placement>
<Placement>
<Page>1</Page>
<Element>body</Element>
<FrameOrder>0</FrameOrder>
<PageSequence>1</PageSequence>
<PageNumber>1</PageNumber>
</Placement>
<Placement>
<Page>6</Page>
<Element>body</Element>
<FrameOrder>4</FrameOrder>
<PageSequence>2</PageSequence>
<PageNumber>6</PageNumber>
</Placement>
<Placement>
<Page>1</Page>
<Element>head</Element>
<FrameOrder>0</FrameOrder>
<PageSequence>1</PageSequence>
<PageNumber>1</PageNumber>
</Placement>
<Placement>
<Page>1</Page>
<Element>body</Element>
<FrameOrder>2</FrameOrder>
<PageSequence>1</PageSequence>
<PageNumber>1</PageNumber>
</Placement>
<Placement>
<Page>1</Page>
<Element>body</Element>
<FrameOrder>1</FrameOrder>
<PageSequence>1</PageSequence>
<PageNumber>1</PageNumber>
</Placement>
</Placements>
</Relation>
</Relations>
</Object>
</Objects>
I'm trying to get the distinct Page
elements, in order, where the Element
elements are body
:
<Pages>
<Page>1</Page>
<Page>6</Page>
</Pages>
The furthest I seem to get is by using the following XSL:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="Objects/Object/Relations/Relation/Placements/Placement[Element='body']">
<xsl:sort select="FrameOrder"/>
<Page><xsl:value-of select="Page"/></Page>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
That gives me:
<Pages>
<Page>1</Page>
<Page>1</Page>
<Page>1</Page>
<Page>6</Page>
<Page>6</Page>
</Pages>
How do I get the distinct values of Page
at this point?
Thanks in advance!