Build unique nodeset when Key can't be used?
I have a <paragraph> element that can contain one or more <link> elements. Each <link> has a @type and a @id attributes. When @type='Figure' the link is to an image. I want to output each <paragraph>, followed by a list of pictures referenced in the <paragraph>.
I have tried:
<xsl:template match="paragraph"> <xsl:apply-templates mode="DoIt" /> <xsl:apply-templates select=link[@type='Figure']" mode="PlacePic" /> </xsl:template>
Which works but will repeat a reference to an image if a <link> with a given @id occurs more than once in the <paragraph>.
How can I get a list with just one entry for each image? I can't see how to you key, because key is a root-level element and so can't work with just the current <paragraph>. I have tried for-each but can't come up with a select that returns a 'unique' node-set.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format