共通 DOM API

org.w3c.dom.traversal
インタフェース NodeIterator


public interface NodeIterator

NodeIterators はノードのセットをたどるために使用されます。ノードのセットには、NodeList にあるノードのセット、特定の Node により支配されるドキュメントサブツリー、クエリーの結果、またはノードのその他のセットなどがあります。繰り返し処理されるノードのセットは、NodeIterator の実装により判定されます。DOM Level 2 では、ドキュメントサブツリーのドキュメント順トラバーサルに対応する単一の NodeIterator 実装が指定されています。これらの NodeIterators のインスタンスは、DocumentTraversal.createNodeIterator() を呼び出して生成されます。 

「Document Object Model (DOM) Level 2 Traversal and Range Specification」も参照してください。

導入されたバージョン:
DOM Level 2

メソッドの概要
 void detach()
          NodeIteratorが繰り返し処理したセットから NodeIterator を切り離し、計算のリソースを解放して NodeIterator を INVALID 状態にします。
 boolean getExpandEntityReferences()
          このフラグの値は、実体参照ノードの子が NodeIterator から可視かどうかを判定します。
 NodeFilter getFilter()
          ノードの選別に使用される NodeFilter
 Node getRoot()
          生成時に指定された NodeIterator のルートノード。
 int getWhatToShow()
          この属性は、NodeIterator を使用して表されるノード型を判定します。
 Node nextNode()
          セットの次のノードを返して、 NodeIterator のセットでの位置を進めます。
 Node previousNode()
          セットの前のノードを返し、NodeIterator のセットでの位置を戻します。
 

メソッドの詳細

getRoot

Node getRoot()
生成時に指定された NodeIterator のルートノード。


getWhatToShow

int getWhatToShow()
この属性は、NodeIterator を使用して表されるノード型を判定します。利用可能な定数のセットは、NodeFilter インタフェースで定義されます。whatToShow によって受け入れられないノードはスキップされますが、ノードの子は引き続き考慮されます。フィルタがある場合、このスキップはフィルタよりも優先されます。


getFilter

NodeFilter getFilter()
ノードの選別に使用される NodeFilter


getExpandEntityReferences

boolean getExpandEntityReferences()
このフラグの値は、実体参照ノードの子が NodeIterator から可視かどうかを判定します。false の場合、子とその子孫は拒否されます。この拒否は、whatToShow とフィルタよりも優先されます。これは、現在のところ、NodeIterators が個々のノードをスキップしないでサブツリー全体を拒否できる唯一の状況でもあります。

展開された実体参照を持ち、実体参照ノード自体を表示しないドキュメントのビューを生成するには、NodeIterator の生成時に whatToShow フラグを使用して実体参照ノードを非表示にし、expandEntityReferences を true に設定します。実体参照ノードを持ち、実体展開を持たないドキュメントのビューを生成するには、whatToShow フラグを使用して実体参照ノードを表示し、expandEntityReferences を false に設定します。


nextNode

Node nextNode()
              throws DOMException
セットの次のノードを返して、 NodeIterator のセットでの位置を進めます。NodeIterator が生成されたあと、nextNode() への最初の呼び出しではセットの最初のノードが返されます。

戻り値:
繰り返し処理されているセットの次の Node、セットにこれ以上メンバーがない場合は null
例外:
DOMException - INVALID_STATE_ERR:detach メソッドが呼び出されたあと、このメソッドが呼び出された場合に発生する

previousNode

Node previousNode()
                  throws DOMException
セットの前のノードを返し、NodeIterator のセットでの位置を戻します。

戻り値:
繰り返し処理されているセットの前の Node、セットにこれ以上メンバーがない場合は null
例外:
DOMException - INVALID_STATE_ERR:detach メソッドが呼び出されたあと、このメソッドが呼び出された場合に発生する

detach

void detach()
NodeIteratorが繰り返し処理したセットから NodeIterator を切り離し、計算のリソースを解放して NodeIterator を INVALID 状態にします。detach が呼び出されると、nextNode または previousNode への呼び出しで INVALID_STATE_ERR 例外が発生します。


共通 DOM API

バグや機能要求の報告
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 2006 Sun Microsystems, Inc. 4150 Network Circle
Santa Clara, California, 95054, U.S.A. All Rights Reserved.