A NodeList represents a sequence of nodes. These objects are
used in two ways in the DOM Core recommendation: the
Element objects provides one as it's list of child nodes, and
the getElementsByTagName() and
getElementsByTagNameNS() methods of Node return
objects with this interface to represent query results.
The DOM Level 2 recommendation defines one method and one attribute
for these objects:
Return the i'th item from the sequence, if there is one, or
None. The index i is not allowed to be less then zero
or greater than or equal to the length of the sequence.
In addition, the Python DOM interface requires that some additional
support is provided to allow NodeList objects to be used as
Python sequences. All NodeList implementations must include
support for __len__() and __getitem__(); this allows
iteration over the NodeList in for statements and
proper support for the len() built-in function.
If a DOM implementation supports modification of the document, the
NodeList implementation must also support the
__setitem__() and __delitem__() methods.