[Zope] inconsistency in tag argument syntax

Michael Bernstein mbernstein@profitscape.net
Mon, 11 Oct 1999 17:28:25 -0700


"Jay, Dylan" wrote:

> > -----Original Message-----
> > From: Michael Bernstein [mailto:mbernstein@profitscape.net]
> > Sent: Saturday, October 09, 1999 05:31
> > To: Jay, Dylan
> > Cc: 'zope@zope.org'
> > Subject: Re: [Zope] inconsistency in tag argument syntax
> >
> >
> > "Jay, Dylan" wrote:
> >
> > > > From: Michael Bernstein [mailto:mbernstein@profitscape.net]
> > > >
> > > > "Jay, Dylan" wrote:
> > >
> > > > > The problem is however that I can't see a backwards
> > > > compatible way of fixing
> > > > > this problem. Alternatives are
> > > > > a) You could introduce a evaluate expression syntax like
> > > > there is in sh
> > > > > script. i.e. name="`myMethod()`". This however makes things
> > > > more confusing
> > > > > and unreadable.
> > > > > b) Another possibility is to make all "non-expression"
> > > > arguments become
> > > > > expression arguments. This would break existing code and
> > > > mean all string
> > > > > constants look like name="'A name'" which is also not
> > > > intuitive and messy.
> > > > > This could be made cleaner by allowing syntax such as
> > name='A name'.
> > > > > c) Or ignore the problem.
> > > > >
> > > > > I prefer option b).
> > > > > What do other people think?
> > > >
> > > > If you want to provide dynamic atributes for all tags, the
> > > > "&dtml-foo" entity
> > > > syntax would be more appropriate, and would avoid breaking current
> > > > implementations (I think). You would just have to assign the
> > > > value of your
> > > > expression to foo beforehand.
> > >
> > > Are you saying that
> > > <dtml-let orderby="'aFieldName'">
> > > <dtml-in aList sort=&dtml-orderby>
> > > </dtml-in>
> > > </dtml-let>
> > >
> > > will work? I don't think this is the case. From looking at
> > the code I saw no
> > > place where this happens.
> >
> > No, I'm saying that this (name="&dtml-orderby") would be a
> > better option than
> > (b) for evolving to a situation where all attributes can be
> > dynamically
> > assigned, and would avoid breaking existing code, constants
> > can continue to look
> > like name="name".
>
> Oh I see now. However big problem. With this scheme you can never have a
> string argument that begins with &

No, it means that a string argument could not begin with '&dtml-', hardly a
common combination, I would think.

HTH,

Michael Bernstein.