Subject: Re: [xsl] xtvd grouping problem (I think) From: Steve <subsume@xxxxxxxxx> Date: Fri, 8 Sep 2006 17:52:32 -0400 |
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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] xtvd grouping problem (I , Bob Portnell | Thread | Re: [xsl] xtvd grouping problem (I , David Carlisle |
Re: [xsl] Sum in conjunction with s, Steve | Date | Re: [xsl] xtvd grouping problem (I , David Carlisle |
Month |