Evan Simpson wrote:
----- Original Message ----- From: Tres Seaver <tseaver@palladion.com>
I usually end up throwing in a '<dtml-let ...>' to alias those ridiculous "identifiers". What is the status of the patch to alias them automatically (I _still_ can't figure out why they exist)?
One thing I find myself often wanting is the ability to do this:
<dtml-in expr="arg.bargle[mumble](frotz)" sequence-var=fred> <dtml-in expr="fred.item(3)"> <dtml-var fred/index>: <dtml-var fred/key> <dtml-var sequence-item> </dtml-in> </dtml-in>
'<dtml-var fred/index>'??? Are you using some bleading-edge CVS checkout that makes the "/" work like that? Anyway, I think the notion of a "brains"/iterator object makes sense. It would have the properties: name= expr= Semantics ========= =========== ================================================ - fred-item fred.item "Unwrap" the object, like 'sequence-item' - fred-index fred.index Like 'sequence-index' - fred-isStart fred.isStart Like 'sequence-start' (renamed to show predicate) - fred-isEnd fred.isEnd Like 'sequence-end' (renamed to show predicate) and any of the others in the current "sequence-blah" set. The 'sequence-var-nnn' bit could be handled through pure dictionary-style lookup (fred[ 'nnn' ]), or through mangling the identifier (fred-var-nnn). The mapping keyword would set a flag on fred which caused any non-standard getattr to delegate to the wrapped item (or is that getitem?). We could even call the default brains object "sequence", to maintain backward compatibility.
...instead of...
<dtml-in expr="arg.bargle[mumble](frotz)"> <dtml-let fred_index=sequence-index fred_item=sequence-item fred_key=sequence-key> <dtml-in expr="fred_item(3)"> <dtml-var fred_index>: <dtml-var fred_key> <dtml-var sequence-item> </dtml-in> </dtml-let> </dtml-in>
What do you think?
Cheers,
Evan @ digicool
-- ========================================================= Tres Seaver tseaver@palladion.com 713-523-6582 Palladion Software http://www.palladion.com