Andrew Welch wrote:
On 8/20/07, Yaswanth <yaswanth(_dot_)mtrx(_at_)gmail(_dot_)com> wrote:
Hi Ronan and Andrew,
Thanks for the Help.
I am able to get the exact result .
I am working on it . I think I need to understand XSL:Key ..
I will look into it..
Ronan , Thanks for the brilliant solution !
If you did want to use a key then all you need to do is define the key:
<xsl:key name="conn-by-source" match="connection" use="@source"/>
then put this wherever you want your output:
<xsl:text>event.0</xsl:text>
<xsl:apply-templates select="key('conn-by-source', 'event.0')"/>
and have this template:
<xsl:template match="connection">
<xsl:text> -> </xsl:text>
<xsl:value-of select="@destination"/>
<xsl:apply-templates select="key('conn-by-source', @destination)"/>
</xsl:template>
and thats it - no need for recursive named templates: the "recursion"
stops when the key doesn't return an element for a given string.
A much cleaner solution than mine - very nice...
Out of curiosity, how would your solution change if we couldn't
guarantee that event.0 would be first? I couldn't express that
particularly elegantly either...
# r
--
Ronan Klyne
Business Collaborator Developer
Tel: +44 (0)870 163 2555
ronan(_dot_)klyne(_at_)groupbc(_dot_)com
www.groupbc.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>
--~--