###
3 NodeList オブジェクト

`NodeList` は、ノードからなるシーケンスを表現します。これらのオブジェクト は DOM コア勧告 (DOM Core recommendation) において、二通りに使われて います: `Element` オブジェクトでは、子ノードのリストを提供するのに `NodeList` を利用します。また、このインタフェースにおける `Node` の `getElementsByTagName()` および `getElementsByTagNameNS()` メソッドは、クエリに対する結果 を表現するのに`NodeList` を利用します。

DOM レベル 2 勧告では、これらのオブジェクトに対し、メソッドと属性を 一つづつ定義しています:

`item`( | i)

  シーケンスに i 番目の要素がある場合にはその要素を、そうでない場合には `None` を返します。i はゼロよりも小さくてはならず、 シーケンスの長さ以上であってはなりません。

`length`
  シーケンス中のノードの数です。

この他に、Python の DOM インタフェースでは、`NodeList` オブジェクトを Python のシーケンスとして使えるようにするサポートが 追加されていることが必要です。`NodeList` の実装では、全て `__len__()` と `__getitem__()` をサポートしなければ なりません; このサポートにより、`for` 文内で `NodeList` にわたる繰り返しと、組み込み関数 `len()` の適切なサポートができるようになります。

DOM 実装が文書の変更をサポートしている場合、`NodeList` の 実装でも `__setitem__()` および `__delitem__()` メソッドを サポートしなければなりません。