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