Re: [xsl] xtvd grouping problem (I think)

Subject: Re: [xsl] xtvd grouping problem (I think)
From: "Bob Portnell" <simply.bobp@xxxxxxxxx>
Date: Fri, 8 Sep 2006 14:45:40 -0700
That's cool. Thanks for trying, and have a fine weekend. I'm looking
at for-each-group and I might be ... on the road to somewhere...

Bob

On 9/8/06, Steve <subsume@xxxxxxxxx> wrote:
Hah. Wouldn't it be easy if we could just push things into keepers
lists? Unfortunately, not in XSL since variables created in a loop
can't exist outside of that loop.

This was a barrier for me. But then I learned about the key() function.

Unfortunately, I'm not the best person on the list to teach such a
thing. I tried to put together something but there are better docs
online.

-S


On 9/8/06, Bob Portnell <simply.bobp@xxxxxxxxx> wrote: > Let me clarify a little. I already have my set of programs in a > variable... call it $hitSet. So that's cool. And the bit from the sort > on down I'd already worked out. Good and good. > > I need to get away from any looping based on program IDs. That's my > problem: program IDs are more fine-grained than my search item terms. > So I need to expand up, collecting up all the <schedule>s which have > the program IDs from $hitSet (and so representing each search item > discovery individually) > > In pseudocode, my vision is something like > for each member of schedule ( a long list) > if this member's @program is found among the @ids in (hitSet list) > push (this member into Keepers list) > > But I have no idea if that's possible in XSLT. I have a hunch it is, > and I'm just overlooking a very simple XPath function for the > assignment... > > Bob P > simply.bobp@xxxxxxxxx > > > > On 9/8/06, Steve <subsume@xxxxxxxxx> wrote: > > On 9/8/06, Bob Portnell <simply.bobp@xxxxxxxxx> wrote: > > > for each search item > > > find the set of programs which have that item > > > convert this to the set of schedule items which have those programs > > > for each in the schedule set > > > sort by time > > > report the show information. > > > > <xsl:for-each $progSet/items[@item=@search]/@prog> > > <xsl:variable name="prog" select="@prog" /> > > <xsl:for-each $scheduleSet[@prog = $prog]/@prog> > > <xsl:sort select="@time" /> > > <xsl:value-of select="@showInfo" > > </xsl:for-each> > > </xsl:for-each> > > > > > > > Given a variable $progSet which has a bunch of <programs> in it, how > > > do I define a $schedSet which has only <schedule> items containing > > > @program ids from $progSet? > > > > > > I've gotten as far as > > > <xsl:variable name="schedSet" select="//schedule[@program . . {sound > > > of screeching brakes}? /> > > > > Pretty sure I touched on this above. Let me know. > > > > > Please excuse where I've strayed from proper XSLT vocabulary; I hope > > > my intent is clear enough despite such lapses of inexperience. > > > > No problemo. Was very well conveyed. =). > > > > -S

Current Thread