If in the torrent of messages you happened to notice ;-D, I'm implementing a class wrapper around an SQL result within a Zope product -- this now works thanks to the kind suggestion by Chris McDonough. Now that the wrapping part works, I've exposed another problem -- the main sort of method I want is one that renders the data into HTML for display purposes (i.e. the object draws itself). I was planning to use DTML for this, seeing as that's what's used elsewhere in the application. But when I try to render/run DTMLFile() methods in the wrapper I get complaints about acquisition failures (an error occurs in aq_parent()). Now I could probably go through some hoops to make acquisition happen (that is, give the object an acquisition parent) -- but actually, I don't need it -- all the variables I want rendered are attributes of the wrapper class. If I wanted to, I could give up on DTML and just use a Python format string. myform = """My stuff with %(data) inserted.""" % locals() instead of myform = DTMLFile("dtml/myform", globals(), **locals()) where dtml/myform is: """ My stuff with &dtml-data; inserted. """ However, that would break the "minimize the languages" rule -- I'd now have to use two different template systems in the same product. (I mainly mention it to prove the point that I don't need acquisition). Can I invoke DTML w/o invoking the acquisition mechanism (or at least tell the acquisition mechanism not to try to find a parent for my class)? I don't see how one could do this with DTMLFile, is there a way by actually invoking the DTMLMethod() constructor? Thanks for any suggestions! Terry -- Terry Hancock ( hancock at anansispaceworks.com ) Anansi Spaceworks http://www.anansispaceworks.com "Some things are too important to be taken seriously"