|
Subject: Re: [xsl] Connecting the Source and Destination fields From: Ronan Klyne <ronan.klyne@xxxxxxxxxxx> Date: Mon, 20 Aug 2007 10:02:21 +0100 |
Andrew Welch wrote:
> On 8/20/07, Yaswanth <yaswanth.mtrx@xxxxxxxxx> 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.klyne@xxxxxxxxxxx
www.groupbc.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Connecting the Source and, Andrew Welch | Thread | Re: [xsl] Connecting the Source and, Andrew Welch |
| [xsl] format-dateTime - getting "A., David Murphy | Date | Re: [xsl] Connecting the Source and, Andrew Welch |
| Month |