This module enhances minidom and will allow you to have ordered
attributes instead of having them sorted automaticaly.
It is relevent in the fact that you may want to script the
loading/modification/saving of xml files and then print out a diff.
with the normal minidom since attributes are sorted automaticaly you can
have an unwanted diff for each unchaged line just because the order of
the attributes changed.
once you load this module, just use minidom normaly.
example::
>>> from xml.dom import minidom
>>> import enhancedminidom
then use minidom normaly except that:
- Document and Element classes have a 'getElementsByAttributeName'
method which can be verry handy.
- 'toxml' and 'toprettyxml' will print attributes in the order they are
created/loaded if 'minidom.SORTEDATTRIBUTES = False' (default)
example to get all nodes having a "foo" attribute::
>>> document = minidom.parse('yourfile.xml')
>>> nodes_with_foo = document.getElementsByAttributeName('foo')
example to get all nodes having a "foo" attribute if they are in a "fum" tag::
>>> document = minidom.parse('yourfile.xml')
>>> nodes_with_foo = document.getElementsByAttributeName('foo', 'fum')
===============
Release Notes :
Release 0.1:
First Version
Release 0.2:
Fixed a typo in this doc