HTML-Template-Pro TODO. ======================= 1. A few wrappers for languages other then perl and mono (php, java, maybe high-level C/glib and C++ wrappers) to prove the API is designed good enough to fit a vast majority of languages. 2. query() support. 3. Parsing of variable contents as well, allowing truly dynamic template generation. Example: $t->register_function( f1 => sub { return $filename ? "<TMPL_INCLUDE NAME=filename>" : "some text"} ); Variants of proposed syntax: <TMPL_INCLUDE_VAR as in HTML-Template-Compiled. Note, that this change will not require underlying C library API changes but an extra {malloc()+memcopying}/free() management of the memory area. (we can't guarantee that this memory area will not be destroyed if it itself has at least a tmpl_var). 4. support of HTML::Template::SET: <TMPL_SET NAME="name" VALUE="value"> This change will require the change of C library API. It requires either callback for (add name/value pair to a current scope) or built-in json-c or libjson or both, as in case of assignments like someVAR=someNativeLOOPorOBJECT. something like scope -2 for built-in json root -1 for wrapper-dependent set root 0 for wrapper-dependent param root Proscope: add is_scope_writeable flag. 5. add Pro::Compat (Compat::Pro??) 1) Compat inherits most of its code from Pro 1) Compat is_a HTML::Template, HTML::Template::Expr. 2) use old param_to_lowercase 3) has default case_sensitive=0 4) has option html_template_strict_mode=1 (enables use of perl _find_file); 6. add option expr: logical should return one of args 7. C htmltmplpro C API: add interface call ABSTRACT_MAP* get_root_scope (param, int POS); FLAGS can be user-provided SET scope, main root scope, case_transform flags etc. 8. Rewrite documentation - split C API documentation or merge perl and C docs. Find a place to document template_root hack. 10. rewrite scanner using re2c