Thanks Chris, your answer helped me! But I am not really satisfied in general about the solution. I know it's not your fault!
<dtml-var xxx> --> foo
This is the equivalent of: <dtml-var "xxx(_.None,_)">
I have additional parameters so I replaced the '_.None' by the parameters like this (as I suppose, the _.None is only used if there are no parameters at all): <dtml-var "xxx(anypar='foo_par',_=_)"> without '_=_' it does not work as expected.
This is confusing, isn't it?
You're damn right! :-( Questions which turn up (just for interest): 1) Why isn't this done automagically by setting the 'Namespace' thing in the bindings tab to '_'? So that the caller does not have to grant access to '_' to the calles Python Script explicitly? 2) Isn't there really any possibility for the Script to access the '_' namespace of it's own? It seems that I have access to the '_' namespace version which is set up at the beginning of the request. 3) Why do DTML know about the actual namespace of the calling methods and Python Scripts not? It seems to me that Python Scripts do not at all have the same behaviour as DTML methods have. :-( Greg P.S.: Is there a documentation about thsi anywhere? -------------------------------------------------- xxx script ## Script (Python) "xxx" ##bind container=container ##bind context=context ##bind namespace=_ ##bind script=script ##bind subpath=traverse_subpath ##parameters=anypar='foo_default' ##title= ## if _.has_key('sort_order'): return (_['sort_order'],anypar) else: return ('sort_order not defined',anypar) ------------------------------- xxxcaller dtml method snippet <dtml-let sort_order="'foo_sort_order'"> <dtml-var xxx><br> <dtml-var "xxx(anypar='foo_par',_=_)"> </dtml-let> _____________________________________ Grégoire Weber mailto:gregoire.weber@switzerland.org