I just started using Zope this week, so I'm pretty wet behind the ears, so if anyone could answer these questions, I'd appreciate it. I'm trying to write a nested loop in DTML and am running into some difficulties. The goal is to loop over the elements of a "lines" property of a folder and lookup those names (which are the names of subfolders), and then repeat this process in a inner-loop (on the subfolders) to lookup the names of documents in those subfolders. The object structure looks something like this: /home (property users=['user1', 'user2']) | +--/user1 (property publish=['object1', 'object2']) | | | +---object1 (DTML Document) | | | +---object2 (DTML Document) | +--/user2 (property publish=['this', 'that']) | +---this (DTML Document) | +---that (DTML Document) The goal here would be to iterate over the users in the outer loop and then to iterate over their published documents in the inner-loop (thus getting all published documents from all users). I've got a DTML method (sitting in /home) that looks something this: (NOTE: I'm using a version of Zope which doesn't support the new "let" tag -- I'm guessing that the "let" tag is syntactic sugar for a "with _.namespace()" construct.) ------------------------list_docs------------------------------ <table> <tr> <th>Id</th> <th>Name</th> <th>Author</th> </tr> <!--#in users--> <!--#with "_.namespace(user=_[_['sequence-item']])"--> <!--#in "_['user'].publish"--> <!-- I think this next line is a serious case of wishful thinking --> <!--#with "_.namespace(doc=getattr(_['user'], _['sequence-item']))"--> <tr> <td><!--#var "_['doc'].id"--></td> <-- show document id --> <td><!--#var "_['doc'].title"--></td> <-- show document title --> <!--#/with--> <!--#/in--> <td><!--#var "_['user'].title"--></td> <-- show user name == author --> </tr> <!--#/with--> <!--#/in--> </table> ------------------------------------------------------------------ What am I doing wrong here? I think I'm having an unnecessairly hard time solving this, so please show me if there's an easier way. Writing all this also leads me to a second question: Why does DTML require that I explicitly look-up names-space elements in the special namespace variable (_)? Couldn't many of these expressions be rewritten with more clarity as something like (<!--#var "doc.id"-->)? What does this special _ object buy me? Thanks for your help. Dave -- David J. C. Beach <beach@verinet.com>