LiteXML 1.0 Alpha11发布 完善插件体系

开发
LiteXML近日发布了1.0 Alphal版,本次发布最大的特点是开放了基于脚本语言的编译插件扩展机制。 让用户可以通过脚本语言编写编译插件,扩展模板语法。 在Lite编译框架之上,100行脚本代码,够你实现一种自定义的模板语法。

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验证水平
责任编辑:佚名 来源: Javaeye
相关推荐

2009-06-23 21:03:55

Linux

2009-03-26 10:00:18

EclipsenWire 1.0代码阅读

2011-03-30 11:48:57

PostgreSQL9.1Alpha5

2012-02-03 09:36:36

AlphaJava

2012-06-08 16:12:51

Ubuntu 12.1下载地址

2010-07-02 09:48:52

Ubuntu 10.1

2009-02-16 17:33:52

银光LinuxMoonlight 1

2015-07-13 14:24:48

Kubernetes容器平台Google

2011-03-03 09:42:05

Ubuntu 11.0

2009-08-15 09:34:53

Ubuntu下载开源操作系统Linux

2011-03-07 09:22:51

2009-07-29 08:58:20

NHibernate ORM框架

2009-04-01 08:53:34

JavaRebelJVM插件

2012-05-07 15:07:47

Linux内核操作系统

2010-01-11 10:00:43

Mandriva LiLinux

2011-12-22 08:58:11

JavaBarita

2010-09-08 08:59:57

Python 3.2

2011-03-01 13:54:37

Fedora 15

2012-05-16 15:12:28

JFormDesignJava

2012-03-20 10:50:19

EclimVIMJava
点赞
收藏

51CTO技术栈公众号