Differences between revisions 1 and 8 (spanning 7 versions)
Revision 1 as of 2004-08-22 02:37:51
Size: 384
Editor: Zoom.Quiet
Comment: 通用Python 脚本生成模板引擎
Revision 8 as of 2004-08-23 02:17:42
Size: 2568
Editor: Zoom.Quiet
Comment: 实现途径 探讨!
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
= 文章大标 =
''简述''
== 章标题1 ==
= 目标 =
'''040823 根据个人开发感受,整理模板实现思路'''
 * ''这个好象没有详细定义过,所以造成了开发的理解混乱是也乎……''
   * 模板代码应该与目标代码非常相近,以便根据目标代码的变化可以快速的修改;
   * 目标代码,模板的变化,模板解析类的修改应该非常少,或是不用修改!
= 实现途径 =
Line 11: Line 14:
=== 小节标题1 ===
{{{
#!python
Python code
== XSLT ==
 * 如果目标代码变化不会过于复杂,还是首先考虑使用XSLT的方式!
 * 最标准的XML解析模板语言!这样一来,Py脚本将非常简单,容易维护!
== 已有的模板系统 ==
''世上无难事,只怕有心人!''只要找,总会找到的:

 * [http://www.webwareforpython.org/Papers/Templates/ Python-based Template Packages]
   * 可是实用的只有:
   * [http://www.mems-exchange.org/software/python/quixote/ PTL]
   * [http://dev.zope.org/Wikis/DevSite/Projects/ZPT/FrontPage ZPT]
 * 分析:
   * ZPT 好是好,但是只能在Zope 环境中运行?!
   * PTL 主要还是面向HTML的生成,而且有很怪的嵌入声明
 * http://www.nedbatchelder.com/code/cog/ 这是一个使用了python做为代码块的代码生成系统,已经达到了可以使用的状态
   * http://pythonology.org/pimages/final/cog/images/cog-web.png
   * 呜乎哀哉,是以C++为目标代码的!!还要重新清理结果哪!
 * http://www.jostraca.org/ 这是一个使用java开发的多语言代码生成工具
   * {{{<% @import
import org.jostraca.resource.SimpleDataObject;
import org.jostraca.resource.SimpleDataObjectReader;
%>
Line 16: Line 36:
   * 嗯嗯!需要大家习惯Java 狂冗长的丰富声明!!!
Line 17: Line 38:
==== 次节标题1 ====
xxx
== OtTool解析类 ==
'''不食嗟来之食!''' 自力更生!创造自个儿的Py代码模板包!
=== 模板文件可以执行 ===
 * 使用 '''macro''' ——宏的思路,让模板可以自个儿生成目标代码
   * '''求助!''' 如何安全的让宏代码在运行中执行??
Line 20: Line 44:
== 章标题2 == === 模板文件不用执行 ===
 * 需要定义精巧的标签,使模板的写作,解析的维护都非常方便!
  * 就现在的实现方式来看,都是失败的…………
Line 22: Line 48:
=== 小节标题2 ===
{{{
其它
代码引用
}}}

==== 次节标题2 ====
yyy
==== 小新的字典匹配 ====
 * 一句话:
   * 以自定标签为准,将所有人工处理好的目标代码替换回填就好!
   * 是个力气活--每当模板,目标代码变化时
==== Zoomq的XML驱动 ====
 * attachment:OtTXMLengine.gif

通用Python 脚本生成模板引擎

-- Zoom.Quiet [DateTime(2004-08-22T02:37:51Z)] TableOfContents

目标

040823 根据个人开发感受,整理模板实现思路

  • 这个好象没有详细定义过,所以造成了开发的理解混乱是也乎……

    • 模板代码应该与目标代码非常相近,以便根据目标代码的变化可以快速的修改;
    • 目标代码,模板的变化,模板解析类的修改应该非常少,或是不用修改!

实现途径

XSLT

  • 如果目标代码变化不会过于复杂,还是首先考虑使用XSLT的方式!
  • 最标准的XML解析模板语言!这样一来,Py脚本将非常简单,容易维护!

已有的模板系统

世上无难事,只怕有心人!只要找,总会找到的:

import org.jostraca.resource.SimpleDataObject; import org.jostraca.resource.SimpleDataObjectReader; %> }}}

  • 嗯嗯!需要大家习惯Java 狂冗长的丰富声明!!!

OtTool解析类

不食嗟来之食! 自力更生!创造自个儿的Py代码模板包!

模板文件可以执行

  • 使用 macro ——宏的思路,让模板可以自个儿生成目标代码

    • 求助! 如何安全的让宏代码在运行中执行??

模板文件不用执行

  • 需要定义精巧的标签,使模板的写作,解析的维护都非常方便!
    • 就现在的实现方式来看,都是失败的…………

小新的字典匹配

  • 一句话:
    • 以自定标签为准,将所有人工处理好的目标代码替换回填就好!
    • 是个力气活--每当模板,目标代码变化时

Zoomq的XML驱动

  • attachment:OtTXMLengine.gif

Otter/OtterTemplet (last edited 2009-12-25 07:16:37 by localhost)