Size: 2673
Comment: A Macro Language for Kalam
|
Size: 3029
Comment: EXSLT
|
Deletions are marked like this. | Additions are marked like this. |
Line 16: | Line 16: |
* 最标准的XML解析模板语言!这样一来,Py脚本将非常简单,容易维护! | * 最标准最自然的XML解析模板语言!这样一来,Py脚本将非常简单,容易维护! === EXSLT === '''XSLT有些简单,复杂的数据操作还是不行,但是已经有新的标准进行扩展了!''' * [http://www-900.ibm.com/developerWorks/cn/xml/x-xdata/part11/index.shtml 用 EXSLT 扩展 XSLT 的功能] |
Line 44: | Line 49: |
* | * [http://220.248.2.35:7080/share/Python/PyBook/HTMLbook/pythonwin32/pythonwin32_cnode61.html Adding a Macro Language] |
通用Python 脚本生成模板引擎
-- Zoom.Quiet [DateTime(2004-08-22T02:37:51Z)] TableOfContents
目标
040823 根据个人开发感受,整理模板实现思路
这个好象没有详细定义过,所以造成了开发的理解混乱是也乎……
- 模板代码应该与目标代码非常相近,以便根据目标代码的变化可以快速的修改;
- 目标代码,模板的变化,模板解析类的修改应该非常少,或是不用修改!
实现途径
XSLT
- 如果目标代码变化不会过于复杂,还是首先考虑使用XSLT的方式!
- 最标准最自然的XML解析模板语言!这样一来,Py脚本将非常简单,容易维护!
EXSLT
XSLT有些简单,复杂的数据操作还是不行,但是已经有新的标准进行扩展了!
[http://www-900.ibm.com/developerWorks/cn/xml/x-xdata/part11/index.shtml 用 EXSLT 扩展 XSLT 的功能]
已有的模板系统
世上无难事,只怕有心人!只要找,总会找到的:
[http://www.webwareforpython.org/Papers/Templates/ Python-based Template Packages]
- 分析:
- ZPT 好是好,但是只能在Zope 环境中运行?!
- PTL 主要还是面向HTML的生成,而且有很怪的嵌入声明
http://www.nedbatchelder.com/code/cog/ 这是一个使用了python做为代码块的代码生成系统,已经达到了可以使用的状态
- 呜乎哀哉,是以C++为目标代码的!!还要重新清理结果哪!
http://www.jostraca.org/ 这是一个使用java开发的多语言代码生成工具
{{{<% @import
import org.jostraca.resource.SimpleDataObject; import org.jostraca.resource.SimpleDataObjectReader; %> }}}
- 嗯嗯!需要大家习惯Java 狂冗长的丰富声明!!!
OtTool解析类
不食嗟来之食! 自力更生!创造自个儿的Py代码模板包!
模板文件可以执行
使用 macro ——宏的思路,让模板可以自个儿生成目标代码
求助! 如何安全的让宏代码在运行中执行??
[http://www.opendocspublishing.com/pyqt/index.lxp?lxpwrap=c6996.htm A Macro Language for Kalam]
[http://220.248.2.35:7080/share/Python/PyBook/HTMLbook/pythonwin32/pythonwin32_cnode61.html Adding a Macro Language]
模板文件不用执行
- 需要定义精巧的标签,使模板的写作,解析的维护都非常方便!
- 就现在的实现方式来看,都是失败的…………
小新的字典匹配
- 一句话:
- 以自定标签为准,将所有人工处理好的目标代码替换回填就好!
- 是个力气活--每当模板,目标代码变化时
Zoomq的XML驱动
- attachment:OtTXMLengine.gif