the simple anwser for Carlos Henrique Bauer, <dtml-var "_[variable]"> I was doing to post this pure DTML response to "String to object ID" (it was not too complex... 3 lines, no count </dtml-..>), but I ran into a nice triple checking the path length because of DTML's 'with' construct. (same deal with direct addressing). Know I'm wonder why it can't be fixed, why can't <dtml-var "_['folder.subfolder']._['object'].id"> just work???? I looked at the source code, AFAIK its only the security '_' that stops it. (I'm no expert!) Summery: a single path level, i.e. no periods in the name "myfolder" used in 'dtml-with' needs to be fetched with "_['string_without_dots_in_it']" or "_.getitem('string',flag)" flag defaults to 0, which does not call a callable object. set to 1 if you want it to call them. Where as a string with periods "myfolder.subfolder.stuff" needs: "'string.with.dots.in.it'" or e.g. <dtml-with "_.string.join(path_with_object[:-1],'.')"> The last check in the triple was if the path is only the object... no path. OK an example: I can use this to access objects from a Catalog search, as long as I know it doesn't have the above problem with DTML addressing... (you could replace getpath(stuff) with a absolute_url splitter to make it even more complex) <dtml-let path_with_object="_.string.split(getpath(data_record_id_)[1:],'/')"> <dtml-with "_.string.join(path_with_object[:-1],'.')"> <dtml-var "_[path_with_object[-1]].id"></dtml-with></dtml-let> The above is faster than getobject(data_record_id_,REQUEST) by ~40% :') its fast I like it. :) Having fun with DTML ;) David, tone..