Posted on 2005-11-14 15:37
canonical 阅读(668)
评论(1) 编辑 收藏 所属分类:
Witrix开发平台
传统上,设计了一种配置文件的格式之后我们需要实现一个相应的解释器(interpreter)来解析该配置文件并执行相应的动作。一个配置文件其实就是一个微型的DSL(Domain Specific Language)。配置文件采用xml格式是一种理想的方式,因为xml是自说明的(self-descriptive),不再需要额外的文档我们就可以直接理解配置文件的结构。但是我们仍然无法避免编写配置文件解释器的工作。Apache项目组的Digester项目http://jakarta.apache.org/commons/digester/ 试图以通用的方式实现解析规则与xml数据文件的结合,但其目前所完成的功能仍然是原始的,不完备的。
在witrix平台中,借助于tpl模板语言,我们以一种精致的方式突破了这一传统障碍,使得配置文件不仅是自说明的,而且可以在不需要特制解释器的情况下按照统一的tpl语言规则自动运行。例如:
<config>
<potlet id="a">
<view>
<portlet:iframe src="x.jsp" />
</view>
</portlet>
<portlet id="b">
<view>
<web:jsplet objectName="MyObject" initEvent="query" />
</view>
</portlet>
</config>
在以上的配置文件中我们配置了第一个portlet以iframe的方式进行展示,而第二个portlet以WebObject的方式通过jsplet框架进行展示。这种配置文件是可以通过一个简单的配置工具进行管理的,但是其中的view部分不仅仅是对配置数据的一种记录,它还可以被直接送入到tpl模板引擎中运行。在这种意义上说,tpl模板语言不仅仅是一种易于编写(editable)的语言,它更是一种易于配置(configurable)的语言。