public interface NodeIterator
NodeIteratorはノードのセットをたどるために使用されます。ノードのセットには、NodeListに含まれるノードのセット、特定のNodeにより支配されるドキュメント・サブツリー、クエリーの結果、その他のノードのセットがあります。 反復処理されるノードのセットは、NodeIteratorの実装により判定されます。 DOM Level 2では、ドキュメント・サブツリーのドキュメント順トラバーサルに対応する単一のNodeIterator実装が指定されています。 これらのNodeIteratorのインスタンスは、DocumentTraversal.createNodeIterator()を呼び出して生成されます。
「Document Object Model (DOM) Level 2 Traversal and Range Specification」も参照してください。
- 導入されたバージョン:
- 9、DOMレベル2
-
メソッドのサマリー
修飾子と型メソッド説明voiddetach()NodeIteratorが反復処理したセットからNodeIteratorを切離し、計算のリソースを解放してNodeIteratorをINVALID状態にします。booleanこのフラグの値は、実体参照ノードの子がNodeIteratorから可視かどうかを判定します。ノードの選別に使用されるNodeFilter。getRoot()作成時に指定されたNodeIteratorのrootノード。intこの属性は、NodeIteratorを使用して表されるノード型を判定します。nextNode()セットの次のノードを返して、NodeIteratorのセットでの位置を進めます。セットの前のノードを返し、NodeIteratorのセットでの位置を戻します。
-
メソッドの詳細
-
getRoot
Node getRoot()作成時に指定されたNodeIteratorのrootノード。 -
getWhatToShow
int getWhatToShow()この属性は、NodeIteratorを使用して表されるノード型を判定します。 利用可能な定数のセットは、NodeFilterインタフェースで定義されます。whatToShowによって受け入れられないノードはスキップされますが、ノードの子は引き続き考慮されます。 フィルタがある場合、このスキップはフィルタよりも優先されます。 -
getFilter
NodeFilter getFilter()ノードの選別に使用されるNodeFilter。 -
getExpandEntityReferences
boolean getExpandEntityReferences()このフラグの値は、実体参照ノードの子がNodeIteratorから可視かどうかを判定します。 falseの場合、子とその子孫は拒否されます。 この拒否は、whatToShowとフィルタよりも優先されます。 これは、現在のところ、NodeIteratorが個々のノードをスキップしないでサブツリー全体を拒否できる唯一の状況でもあります。
展開された実体参照を持ち、実体参照ノード自体を表示しないドキュメントのビューを生成するには、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例外が発生します。
-