On Thursday 26 October 2006 02:12, Mathew Robertson wrote: > >> Having read the thread, I don't think that's enough for me. I want to > >> still need to explicitly specify "ESCAPE=HTML" everywhere (without > >> having a default escape), to have an exception raised on a non-escaped > >> occurence, and to add an explicit unescaping (like "ESCAPE="0""). > > > > Let me see if I've got this straight: you want to force the template > > writer to include "ESCAPE=something" in every TMPL_VAR, where > > "something" can be "HTML", "URL", or a value indicating "no escapes" > > (say, "TEXT"); failure to do so would cause a catchable error in your > > script when you try to evaluate the template. Right? > > hmm... it doesn't sound right at all. Forcing the developer to > remember to have to type ESCAPE=... for every TMPL_VAR is just not > right. > > I personally forget to even use NAME=... and I just about never > quote the value either due to laziness. > > The reality is that people are lazy/forgetful/efficient - the > general idea in life is to make life easier, not harder. I'd > suggest just to use the functionality as is. ie: set default_escape > to whatever the default is; when no escape is necessary, then the > developer will explicitly say so. >
In case you forget to do that, then perl will throw an exception and force you to add that. So you won't get something bad for your laziness/forgetfulness. Besides, this would be a sub-class of HTML::Template and no-one will be forced to use it. > >> So I guess I'm going to fire up my editor and write an HTML::Template > >> sub-class. > > > > Probably. May I suggest a form for your subclass to take? Let > > "default_escape" contain two additional values: "TEXT" (which means > > the same as "0" above, and can also be used in 'ESCAPE=' to override > > the default with no escaping), and "NONE" (which throws an exception > > any time a TMPL_VAR lacks 'ESCAPE='). This will let you easily switch > > to an appropriate default_escape value once transition to the new code > > is complete. > > Please dont use "TEXT" to mean none - there is at least one filter > that has been posted on this list which is for 'text' documents. > ie: the filter is like the HTML filter, but also handles newlines & > carriage returns, etc. How about "NONE" or "NO" or "0" to mean 'no > escaping is necessary'. > > Also, "NONE" (as described above) should be "THROW" - the term is > common in computer science, lets use it. > I'll use NONE. Regards, Shlomi Fish --------------------------------------------------------------------- Shlomi Fish [EMAIL PROTECTED] Homepage: http://www.shlomifish.org/ Chuck Norris wrote a complete Perl 6 implementation in a day but then destroyed all evidence with his bare hands, so no one will know his secrets. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Html-template-users mailing list Html-template-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/html-template-users