Posted on 2005-11-14 15:37
canonical 閱讀(687)
評論(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)的語言。