Amara XML工具包是针对XML处理的Python工具的开放原始码收集,不只是工具,恰巧是用python编写的,而且其工具是由底层到使用Python用语跟比其他程式语言有更多的优点的Python所建构。
Amara建构在4Suite上,而4Suite更着重在Python里的XML标准的字面实施,Amara更增加了Python面对这些能力,Amara是开放原始码,提供了Apache授权的4Suite变形,见档案COPYING有更多详细资料。
Akara是一个新的伞形专案,它包括了4Suite跟Amara 2.0做了全面的改善,见Akara或Amara2更多资讯, 我们强烈建议Amara使用这开始转向Amara2。
针对缺乏耐心的:快速安装
Amara需要Python 2.4或之后的版本以及4Suite-XML 1.0rc4或之后的版本,它支援setuptools,所以你可以就这样照下面的做:
easy_install amara
假如这没有作用,你可能不能用easy_install来设定,那我建议你照这些简单的操作来做。
easy_install会自动地帮你注意安装的相依性,假如你不喜欢用easy_install,那就抓一个版本比1.0rc4新的Suite-XML套件来装,然后使用一般方式来安装Amara套件:
python setup.py install
或使用Windows安装器,或其他的。
更多细节
Amara提供了你可以相信符合XML标准又不会失去熟悉Python感觉的工具,目前稳定的版本是1.0,开发版本是1.1.9,开发本有很多的效能跟API的改善,但是它不像稳定版那要有实地的测试,Amara最著名的组成部分是Bindery。
Amara Bindery: XML跟py一样容易
Bindery将XML文件转成Python物件树对应使用在XML文件的词汇,非常的清晰,例如,文件
<monty> <python spam="eggs">What do you mean "bleh"</python> <python ministry="abuse">But I was looking for argument</python> </monty>
会变成一个资料结构所以你可以这样写:
binding.monty.python.spam
为了取得”eggs”值 (就像Python Unicode物件)或
binding.monty.python[1]
为了取得内容”But I was looking for argument”的元素物件,会有其它像这样的Python工具,并且使得Bindery独特之处就是针对系结XML藉由一个很陈述规则基础的系统驱动到Python的资料,你可以注册那些由XPattern表现专门系结的行为触发的规则,它包括XPath支援而且很有效率,使用SAX来产生系结,见使用者文件有更多细节。
使用者注意
- Amara/QuickRef
- Amara/Manual
- Amara/Recipes
- Amara/FAQ
- Amara/Install
- Amara/Announcements
- livingpyxml pages, many of which are Amara-related