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