You are here

Exemel Initial Availability

Get it while it's hot, my pretties, the neon light is on outside and my bandwidth isn't what it used to be ;)

Announcing exemel, the coolest way to touch XML with Python. But don't take it from me, check out the README! Yeah!

Termie's Standard Library:  XML
exemel
0.1

=== Intro === It isn't usually all the nice working with XML. Sure, DOM works and is robust enough to get it done, but it ain't purty. Recap: Python is purty, XML is not.

Solution? Make XML work kind of like Python. Give it some XML, it'll make it easy to get all your data out.

Depends on ayb 0.2+ === Usage === import exemel

ex = exemel.Exemel(some_xml)

xml_data = """ <pose abac="you" tofu="yes"> <birdie stud="back"> <taste>burnt</taste> <huma>standard</huma> </birdie> <toodle yoga="hound" /> </pose> """

ex['pose'] = < Exemel instance >

ex['pose'].abac = "you" ex['pose'].tofu = "yes"

ex['pose']['birdie'] == < ExemelList instance > ex['pose'].first()['birdie'] == < ExemelList instance >

ex['pose']['birdie'].stud == "back" ex['pose']['birdie'].first().stud == "back" ex['pose']['birdie'][0].stud == "back"

ex['pose']['birdie'].first() == < Exemel instance > ex['pose']['birdie'][0] == < Exemel instance >

=== Contents === * Class Exemel -- The base node class * Class ExemelList -- An extension (well, not yet) of ayb.DictStackList that holds children for the exemel nodes

=== Todo === What next?

  • Dealing with attribute name collisions with methods / user-defined attributes
  • Serialization to XML
  • Per-tag node classes
  • Writability... being able to append new items and change things usefully

Technorati Tags: , , , , ,