[Zope] Checking sequence-index using dtml-if

Jeff Hotz jeff@hotz.net
Tue, 20 Feb 2001 21:02:31 -0600


Thanks.

Could you please help me understand the syntax of the statement you suggested?

Specifically, this portion      ZSQLMethod()[:3]

Additionally, with this method, is there a way to process all records 
starting with a certain number until eof()?

Thanks again for your help.



At 08:57 AM 2/21/2001 +1100, you wrote:
>On Monday 19 February 2001 16:56, John Morton wrote:
> > On Sun, 18 Feb 2001 21:57:27 -0600 Jeff Hotz <jeff@hotz.net> wrote:
> > > I only want to operate on the first 3 records returned in the
> > > ZSQL_select_images.
> > >
> > > I thought that a dtml-if test would do it based on the dtml-var
> > > sequence-index but I'm not having any luck.
> > >
> > > Any suggestions on either my logic or the implementation of it?
> > >
> > > Any help you can offer will be greatly appreciated.  Thanks.
> > >
> > > <dtml-in ZSQL_select_images>
> > >    <dtml-if expr="'<dtml-var sequence-index>' < 3">
> >
> > You can't embed a dtml statement inside another like this .I believe this
> > says 'if the string '<dtml-var sequence-index>' is less than three', which
> > is not what you want. What you probably did was to start by using
> > sequence-index and had zope complain about it. What you should try is
> > this:
> >
> > <dtml-if expr="_['sequence-index'] < 3">
> >
> > Use the dtml namespace lookup notation when ever you need to use an
> > attribute name with a '-' in it, inside an expression. And submit it as a
> > bug to the collector until the DC folk give in and include '_' equivalents
> > to all the attributes that use dashes :-)
> >
>
>Whilst this is a good answer in that it corrects a misunderstanding in the
>users understanding of DTML, there is, imho, a better solution to the actual
>problem.  And that is to slice the returned list from the ZSQL method....
>something like:
>
><dtml-in expr="ZSQL_select_images()[:3]">
>...
></dtml-in>
>
>will only iterate over the first 3 elements in the list.
>
> > John
> >
> >

jeff@hotz.net
www.hotz.net