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");   
?﹥  

【编辑推荐】

  1. Java使用XML作为持久存储介质实现方法
  2. 详解Java解析XML的四种方法
  3. 使用CAM机制提高XML验证水平
THE END