Thread: [htmltmpl] Full HTML-Escaping with HTML::Template?
Brought to you by:
samtregar
From: Nico E. <ma...@pe...> - 2002-10-19 18:09:37
|
Hi, Is there any reason (besides of lazyness ;) ) that HTML::Template does no complete HTML-Escaping? I mean especialy the german "umlaute", like üäö.. (ü ä ö)? ciao |
From: Sam T. <sa...@tr...> - 2002-10-19 21:12:24
|
On Sat, 19 Oct 2002, Nico Erfurth wrote: > Is there any reason (besides of lazyness ;) ) that HTML::Template does > no complete HTML-Escaping? > > I mean especialy the german "umlaute", like =FC=E4=F6.. (ü ä &o= uml;)? The kind of HTML escaping the HTML::Template is designed to address the problem of using <tmpl_var> tags inside other tags. For example: <input name=3Dage value=3D"<tmpl_var escape=3Dhtml age>"> As far as I know the character-set conversions are not necessary to achieve this goal, so they weren't included. -sam |
From: Hrvoje N. <hn...@xe...> - 2002-10-19 23:35:29
|
Sam Tregar <sa...@tr...> writes: > As far as I know the character-set conversions are not necessary to > achieve this goal, so they weren't included. You are correct. No general-purpose HTML quoting function handles internationalization, for two reasons: * It's not necessary to achieve the primary purpose of quoting, which is to prevent the HTML metacharacters to be interpreted as markup. * It's extremely hard to implement without making simplistic assumptions. Handling of I18N text is highly context-dependent. For example, it may seem "correct" to change the character 220 to "Ü". But if the target template is in a different charset, where 220 has a wholly different meaning? For example, in Latin 1, the character 169 is the copyright sign, with entities "©" and "©". But in a Latin 2 HTML document, exactly the same code represents the "S with caron" character, with entities "Š" and "Š". In UTF-8, the same code is an illegal character. How is a quoting function to know whether to convert code 169 to "©" or to "Š"? A quoting function that tried to fully handle I18N would have to know everything about charsets and HTML and the surrounding context. Doing that kind of work for no gain is pointless. Doing the simple thing and assuming Latin 1 is actually *harmful* for non-Latin 1 users. |
From: Phil T. <phi...@bi...> - 2002-10-20 10:03:08
|
SSBoYXZlIG5vdCBiZWVuIGFibGUgdG8gZXN0YWJsaXNoIGlmIHRoZXJlIGlzIGEgZmVhdHVyZSBv ZiB0aGUgbW9kdWxlIHdoaWNoIHByb3ZpZGVzIGFuIGluZGV4IGNvdW50ZXIgd2l0aGluIGEgVE1Q TF9MT09QLiBJIG5lZWQgYSBjb3VudGVyIHRvIGJlIGZvcm1hdHRlZCBvbiB0aGUgcGFnZSBmb3Ig ZWFjaCBpdGVtIGl0ZXJhdGVkIG92ZXIgYW5kIEkgZG9uJ3Qgd2FudCB0byBoYXZlIHRvIGl0ZXJh dGUgb3ZlciB0aGUgYXJyYXkgYmVmb3JlaGFuZCBqdXN0IHRvIGFkZCBvbmUsIGVzcGVjaWFsbHkg YXMgdGhlIGxhc3QgdGhpbmcgSSdtIGRvaW5nIGlzIHNvcnRpbmcgdGhlIGFycmF5Lg0KDQpJcyB0 aGVyZSBhIGZvcm1hbCBzb2x1dGlvbiB0byB0aGlzIG9yIGFsdGVybmF0aXZlbHkgYSBoaWRkZW4g ZmVhdHVyZSB0aGF0IGNhbiBiZSBleHBsb2l0ZWQ/DQoNClJlZ2FyZHMNCg0KUGhpbA== |
From: Philip S T. <phi...@gm...> - 2002-10-20 10:41:13
|
On Sun, 20 Oct 2002, Phil Taylor wrote: > I have not been able to establish if there is a feature of the module > which provides an index counter within a TMPL_LOOP. I need a counter loop_context_vars, <tmpl_var __counter__> -- It is not well to be thought of as one who meekly submits to insolence and intimidation. |
From: Hrvoje N. <hn...@xe...> - 2002-10-21 00:17:57
|
Philip S Tellis <phi...@gm...> writes: > On Sun, 20 Oct 2002, Phil Taylor wrote: > >> I have not been able to establish if there is a feature of the module >> which provides an index counter within a TMPL_LOOP. I need a counter > > loop_context_vars, <tmpl_var __counter__> Is it a feature of a new version? My copy of the HTML::Template documentation doesn't mention __counter__. |
From: Andrew J. <ajh...@ex...> - 2002-10-21 02:52:29
|
Hrvoje Niksic wrote: >> > Is it a feature of a new version? My copy of the HTML::Template > documentation doesn't mention __counter__. > It's a new feature in version 2.6. |
From: Stein,Jeffrey L. <js...@mi...> - 2002-10-21 01:32:48
|
When you call teh template you also need to set the Loop Variables option to 1 (aka - tell it to use LoopCounter Variables). I dont have the documentation in front of me so I cannot offer you the exact syntax. ----- Original Message ----- From: "Philip S Tellis" <phi...@gm...> To: "HTML::Template List" <htm...@li...> Sent: Sunday, October 20, 2002 6:39 AM Subject: Re: [htmltmpl] TMPL_LOOP Index Counter > On Sun, 20 Oct 2002, Phil Taylor wrote: > > > I have not been able to establish if there is a feature of the module > > which provides an index counter within a TMPL_LOOP. I need a counter > > loop_context_vars, <tmpl_var __counter__> > > -- > It is not well to be thought of as one who meekly submits to insolence and > intimidation. > > > > ------------------------------------------------------- > This sf.net email is sponsored by: > Access Your PC Securely with GoToMyPC. Try Free Now > https://www.gotomypc.com/s/OSND/DD > _______________________________________________ > Html-template-users mailing list > Htm...@li... > https://lists.sourceforge.net/lists/listinfo/html-template-users > |
From: Hrvoje N. <hn...@xe...> - 2002-10-21 01:47:56
|
"Stein,Jeffrey L." <js...@mi...> writes: > When you call teh template you also need to set the Loop Variables > option to 1 (aka - tell it to use LoopCounter Variables). I dont > have the documentation in front of me so I cannot offer you the > exact syntax. I know, but my copy of the documentation still doesn't mention __counter__. Only __first__, __last__, __inner__, and __odd__. |
From: Sam T. <sa...@tr...> - 2002-10-21 02:50:18
|
On Mon, 21 Oct 2002, Hrvoje Niksic wrote: > I know, but my copy of the documentation still doesn't mention > __counter__. Only __first__, __last__, __inner__, and __odd__. Maybe you should upgrade! It's a new feature in the latest version. -sam |
From: Hrvoje N. <hn...@xe...> - 2002-10-21 03:13:25
|
Sam Tregar <sa...@tr...> writes: > On Mon, 21 Oct 2002, Hrvoje Niksic wrote: > >> I know, but my copy of the documentation still doesn't mention >> __counter__. Only __first__, __last__, __inner__, and __odd__. > > Maybe you should upgrade! It's a new feature in the latest version. That explains it, thanks. BTW did you know that Tomas Styblo's Python version already supported a __PASS__ loop context variable? It might have been good to be compatible. (In my version I decided to be compatible with your version, so I didn't have __pass__ and added __counter__ now. I did borrow TMPL_BOUNDARY from Tomas's design, though.) Tomas also has __PASSTOTAL__ and __EVERY_x, but these look less useful. |