HTML-Template-Pro library. ======================= libhtmltmplpro libhtmltmplpro is a fast lightweight C implementation of perl modules HTML::Template (as of 2.9) and HTML::Template::Expr (as of 0.0.7). The main principle is following: Core C library should always be as language neutral and portable as possible. * HTML-Template-Pro "param" data tree. As ANSI C language lacks standard dictionary types, the code was designed so that a language wrapper should use its own language spacific (as Perl built-in hash anr array) or library specific (C+glib, for example) types to build a HTML-Template-Pro "param" data tree and should provide abstract getters and movers to the core C library to navigate through the "param" data tree as well as some other system specific calls. The param data tree structure is built from the following abstract objects: A SCOPE, A LOOP, A VALUE. A SCOPE is an abstract dictionary that maps NAME to A VALUE. A VALUE should either be convertable to string, or it should be A LOOP. A LOOP is an abstract list of SCOPEs. A LOOP can be iterated over its SCOPEs. When a template enters A LOOP, its current SCOPE is pushed into a scope stack, and, depending on configuration options, a VALUE for a given NAME is searched through the SCOPEs of the scope stack. * Multithreading. HTML-Template-Pro C library routines do not have any mutable global variables. Hence, It is safe to use it in multithread context, assuming each thread will use its own set of libHTMLTmplPro main classes (of struct tmplpro_param* type). * COPYRIGHT AND LICENCE Copyright (C) 2005-2009 by I. Yu. Vlasenko. Pieces of documentation of HTML::Template are copyright (C) 2000-2009 Sam Tregar (sam@tregar.com) Other contributors to the code base are listed in Changes. The template syntax, interface conventions and a large piece of documentation of HTML::Template::Pro are based on CPAN module HTML::Template by Sam Tregar, sam@tregar.com. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available, or, at your option, under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
0.91: released ABI 1.1 (2:0:1) ABI 1.0 compatible. * added symbols: tmplpro_get_int_option tmplpro_set_int_option tmplpro_errno tmplpro_errmsg 0.90: released ABI 1.0 (1:0:0). * PSTRING now use const pointers * added MPSTRING with non-const pointers * added symbols: tmplpro_tmpl2pstring tmplpro_set_expr_as_null tmplpro_get_option_ext_data_state tmplpro_set_option_ext_data_state * removed symbols: tmplpro_get_expr_as_string tmplpro_get_option_select_loop_scope_functype tmplpro_set_option_select_loop_scope_functype tmplpro_get_option_die_on_bad_params tmplpro_set_option_die_on_bad_params * changed symbols: tmplpro_get_option_EndLoopFuncPtr tmplpro_set_option_EndLoopFuncPtr to tmplpro_get_option_ExitLoopScopeFuncPtr tmplpro_set_option_ExitLoopScopeFuncPtr tmplpro_get_option_root_param_map tmplpro_set_option_root_param_map to tmplpro_clear_option_param_map tmplpro_count_option_param_map tmplpro_push_option_param_map tmplpro_get_option_case_sensitive tmplpro_set_option_case_sensitive to tmplpro_get_option_tmpl_var_case tmplpro_set_option_tmpl_var_case * removed callback: select_loop_scope_functype * changed callbacks: added ABSTRACT_DATASTATE* to param data - related callbacks * Multiple root param maps are now allowed, so tmplpro_clear_option_param_map/tmplpro_push_option_param_map is used instead of tmplpro_set_option_root_param_map. * case_sensitive option is now moved to wrappers. C library itself now use tmpl_var_case option. * tmplpro_get_expr_type now returns explicit EXPR_TYPE_NULL 0.83-0.87 no API/ABI changes. 0.82 API officially released. ABI: 0:0:0 released