Re: [xsl] Relationships in for-each statement

Subject: Re: [xsl] Relationships in for-each statement
From: "Bob Portnell" <simply.bobp@xxxxxxxxx>
Date: Thu, 7 Sep 2006 16:33:37 -0700
Okay, that's incorporated and all good. Lovely, lovely.

Now, I'm using keys elsewhere to fetch the target data I'm after for
my output. How would I implement keys to clean up and speed up this
expression?

Breaking my promise,
Bob Portnell
simply.bobp@xxxxxxxxx

On 9/7/06, David Carlisle <davidc@xxxxxxxxx> wrote:

you could probably speed this al up (greatly) by using keys (// can be an expensive operation) but get it working first...

not sure what you want but possibilitie for avoiding having that big //
twice are

<xsl:variable name="x" select="//member[(role='Actor') or (role='Guest Star') or
(role='Host')][concat(tv:givenname, ' ', tv:surname) = $matcher]"/>

<xsl:if test="$x"> stuff...

<xsl:for-each select="$x/../@program"..

If you just want to llop over those programs and don't need the varable
you could do something like

<xsl:for-each select="/productionCrew/crew[member[(role='Actor') or (role='Guest Star') or
(role='Host')][concat(tv:givenname, ' ', tv:surname) =
$matcher]]/@program">

David

Current Thread