LiteXML 1.0 Alpha11發(fā)布 完善插件體系
LiteXML近日發(fā)布了1.0 Alphal版,本次發(fā)布最大的特點(diǎn)是開放了基于腳本語(yǔ)言的編譯插件擴(kuò)展機(jī)制。 讓用戶可以通過腳本語(yǔ)言編寫編譯插件,擴(kuò)展模板語(yǔ)法。 在Lite編譯框架之上,100行腳本代碼,夠你實(shí)現(xiàn)一種自定義的模板語(yǔ)法。
如果您真有此意,可以參考一個(gè)用來(lái)測(cè)試的自定義模板語(yǔ)法解析器實(shí)例:
http://lite.googlecode.com/svn/trunk/LiteCompiler/test/org/xidea/lite/plugin/test/SimplePluginTest.js
具體改進(jìn)有:
◆完善插件機(jī)制 可以通過Java JavaScript等多種語(yǔ)言編寫XML節(jié)點(diǎn)解析插件和文本指令解析插件。
◆完善PHP,Python自動(dòng)編譯實(shí)現(xiàn) 以前宣稱的支持PHP,Python,但是因?yàn)闆]有編譯環(huán)境支持,使用事很不方便的。
現(xiàn)在,他們可以在GoogleAppEngine支持下,遠(yuǎn)程自動(dòng)編譯、緩存Lite中間代碼。無(wú)需任何配置,解壓實(shí)例代碼,即可運(yùn)行。 因?yàn)槭∪チ吮镜鼐幾g的環(huán)節(jié),您可能想不到的是,PHP版本的lite xml只有一個(gè)文件,加上注釋500行。
完善一些編譯錯(cuò)誤的語(yǔ)法提示 XML錯(cuò)誤行號(hào),遠(yuǎn)程編譯異常等。
PHP和Python語(yǔ)言環(huán)境使用示例:
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"; #數(shù)據(jù)模型 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(); # 通過上下文數(shù)據(jù)方式傳遞模板參數(shù): $context = array( "int1"=﹥1, "text1"=﹥'1' ); $engine-﹥r(jià)ender("/example/test.xhtml",$context); //# 直接通過全局變量傳遞模板參數(shù): //$int1 = 1; //$text1 = '1'; //$engine-﹥r(jià)ender("/example/test.xhtml"); ?﹥ |
【編輯推薦】