LiteXML 1.0 Alpha11發布 完善插件體系
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"); ?﹥ |
【編輯推薦】