含有章节索引的中文 文章模板
-- limodou [DateTime(2004-09-01T07:02:00Z)] TableOfContents
Tree字典处理模块
主要为Meteor提供数据支持,也可做为通用模块来使用
Tree的来源
Tree的产生来自于Meteor。Meteor在进行模板替换时要求用户提供相应的引用变量的值信息。并且要求值信息的格式主要为字典,同时必须按模块引用的嵌套关系来提供相应的字典数据。因此,按模块引用关系来提供数据就是Meteor最重要的一个环节。这种字典数据与模块引用相匹配,同XML文件格式一样是分级的,结构化的。但直接写字典不是件直观的活。从网上看到有人开发出将XML映身为字典的模块,这样对于XML中层次的访问就可以使用XPath相似的使用方法,如/home/root表示从根结点开始,取home结点下的root结点内容。在Python中,使用字典与XML这种格式数据很象。因此,我决定使用dict作为Tree的内部存储格式。这样Tree的设计目标就是提供一个简单地方法生成多级的树状结构,可以使用XPath风格的关键字来设定或访问相应的数据。
技术细节
Tree的内部都是使用字典来保存。它可以保存成XML文档,或从XML文档中读取数据。但处理为XML格式时,功能会受限。
Tree中元素的使用都是通过字典下标来实现的。字典的下标应该是以'/'号分隔的一个串,表示从根元素开始的一个路径,因此是一个全路径。
相似技术
将XML的数据直接映射到Py类型数据中
[http://www-900.ibm.com/developerWorks/cn/xml/x-matters/part11/index.shtml gnosis.xml.objectify]
- 即,对象化XML树!以Py 看方式,然后就可以开始神奇的Py魔术!