Hi John,
You can define a key that matches enElement and use the name attribute.
Then you can process only the first element that matches a given value:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:key name="name" match="anElement" use="@name"/>
<xsl:template match="/">
<out><xsl:apply-templates/></out>
</xsl:template>
<xsl:template match="anElement">
<xsl:if test="generate-id(.)=generate-id(key('name', @name)[1])">
<name><xsl:value-of select="@name"/></name>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Regards,
George
---------------------------------------------------------------------
George Cristian Bina - http://aboutxml.blogspot.com/
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
John Smith wrote:
Hello,
This is a simplified description of what I am trying to do, I have an
xml document like this:
<main>
<someElement>
<anElement name="John" />
</someElement>
<someElement>
<anElement name="Jane" />
</someElement>
<someElement>
<anElement name="John" />
</someElement>
<someElement>
<anElement name="Jane" />
</someElement>
</main>
and I like to retrieve each 'name' attribute from 'anElement', but I
only want to process the name once. So if the 'John' attribute is
repeated I want to somehow keep track that I have already processed
it, hence there is no need to process it again.
So for the given example I like to output something like:
<out>
<name>John</name>
<name>Jane</name>
</out>
Thanks,
John
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--