Trailing (and leading) whitespace of TALES "string:" expressions is included into the value. May be (probably is) a feature! Should probably be stressed in the documentation, together with the workaround: <.... tal:define=" .... x string:value; " .... > Dieter