LiteXML近日发布了1.0 Alphal版,本次发布最大的特点是开放了基于脚本语言的编译插件扩展机制。 让用户可以通过脚本语言编写编译插件,扩展模板语法。 在Lite编译框架之上,100行脚本代码,够你实现一种自定义的模板语法。
如果您真有此意,可以参考一个用来测试的自定义模板语法解析器实例:
http://lite.googlecode.com/svn/trunk/LiteCompiler/test/org/xidea/lite/plugin/test/SimplePluginTest.js
具体改进有:
◆完善插件机制 可以通过Java JavaScript等多种语言编写XML节点解析插件和文本指令解析插件。
◆完善PHP,Python自动编译实现 以前宣称的支持PHP,Python,但是因为没有编译环境支持,使用事很不方便的。
现在,他们可以在GoogleAppEngine支持下,远程自动编译、缓存Lite中间代码。无需任何配置,解压实例代码,即可运行。 因为省去了本地编译的环节,您可能想不到的是,PHP版本的lite xml只有一个文件,加上注释500行。
完善一些编译错误的语法提示 XML错误行号,远程编译异常等。
PHP和Python语言环境使用示例:
python #!/usr/bin/env python # -*- coding: utf-8 -*- from lite import TemplateEngine from mod_python import apache engine = TemplateEngine("D:/workspace/Lite/web/"); def handler(req): req.content_type = "text/html"; #数据模型 context = { "int1":1, "text1":'1' } #渲染模板 engine.render("/example/test.xhtml",context,req); return apache.OK |
PHP
﹤?php require_once("../WEB-INF/classes/lite/TemplateEngine.php"); $engine = new TemplateEngine(); # 通过上下文数据方式传递模板参数: $context = array( "int1"=﹥1, "text1"=﹥'1' ); $engine-﹥render("/example/test.xhtml",$context); //# 直接通过全局变量传递模板参数: //$int1 = 1; //$text1 = '1'; //$engine-﹥render("/example/test.xhtml"); ?﹥ |
【编辑推荐】