[stringtemplate-interest] Formatting vs. Escaping in an AttributeRenderer
Tobias Güntner
fatbull at web.de
Sun Sep 11 19:28:52 PDT 2011
Am 11.09.2011 23:17, schrieb Udo Borkowski:
>> * It interferes with "normal" renderer usage, i.e., I can either escape
>> or format, but not both.
>
> There are several ways to solve this. Some time ago Colin Fagan
> suggested a "MultiFormatStringRenderer" that allows specify multiple
> "formats" in one "format" string.
Well, yes. But I am looking for a cleaner solution (even if this means I
have to wait for ST5). I don't want to end up with a Swiss army
knife^wrenderer which can handle dates, numbers, 19 custom model
objects, which knows 57 vital string transformations ("upper" plus 56
others) and 21 different escape modes, and which can make tea in 30
different locales - all controlled by a single format string which
requires a grammar to parse. ;)
>> * I have to remember to specify the correct format everywhere.
> Seems like a good idea to me.
>
> But maybe I don't get your point. Can you give a concrete example to
> make it clearer?
It is not a good idea. If I have to remember doing something again and
again and again, I am bound to forget it now and then. If ST does it by
default, I cannot forget it. Consequence: I create less bugs.
> In your AttributeRenderer you need to check for the formatString.
[...]
> If you don't do this check you will get strange results, like the
> [start]…[end] you saw.
What I don't understand: Why are string literals fed into an
AttributeRenderer? After all, it's an AttributeRenderer, not a
StringLiteralRenderer or TemplateOutputASecondTimeRenderer. ;)
This just does not make sense to me.
Regards,
Tobias
More information about the stringtemplate-interest
mailing list