public interface TreeWalker
TreeWalker
オブジェクトは、whatToShow
フラグとフィルタ(存在する場合)により定義されたドキュメントのビューを使用して、ドキュメント・ツリーまたはサブツリーを移動するために使用されます。 TreeWalker
を使って移動する関数は、TreeWalker
によって定義されたビューを自動的にサポートします。
サブツリーの論理ビューからノードを省略すると、その構造は、フィルタ処理されていない完全なドキュメントの同一サブツリーとはかなり異なる構造になります。 TreeWalker
ビューで兄弟であるノードが、元のビューでは異なる別々のノードの子である可能性もあります。 たとえば、ドキュメントのTextノードとルート・ノード以外のすべてのノードをスキップするNodeFilter
を考えてみます。 この結果の論理ビューでは、元のドキュメントの構造がどれだけ深く入れ子になっているかにかかわらず、すべてのテキスト・ノードは兄弟になり、ルート・ノードの直接の子として表示されます。
「Document Object Model (DOM) Level 2 Traversal and Range Specification」も参照してください。
- 導入されたバージョン:
- 9、DOMレベル2
-
メソッドのサマリー
修飾子と型メソッド説明TreeWalker
を現在のノードの最初の可視の子に移動し、新規ノードを返します。TreeWalker
が現在あるノード。boolean
このフラグの値は、実体参照ノードの子がTreeWalker
から可視かどうかを判定します。ノードの選別に使用されるフィルタ。getRoot()
作成時に指定されたTreeWalker
のroot
ノード。int
この属性は、TreeWalker
を使用して表されるノード型を判定します。TreeWalker
を現在のノードの最後の可視の子まで移動させ、新規ノードを返します。nextNode()
TreeWalker
を現在のノードについてドキュメント順に次の可視ノードまで移動し、新規ノードを返します。TreeWalker
を現在のノードの次の兄弟まで移動させ、新規ノードを返します。現在のノードのもっとも近い可視の上位ノードに移動し、そのノードを返します。TreeWalker
を現在のノードについてドキュメント順に前の可視ノードまで移動し、新規ノードを返します。TreeWalker
を現在のノードの前の兄弟まで移動させ、新規ノードを返します。void
setCurrentNode
(Node currentNode) TreeWalker
が現在あるノード。
-
メソッドの詳細
-
getRoot
Node getRoot()作成時に指定されたTreeWalker
のroot
ノード。 -
getWhatToShow
int getWhatToShow()この属性は、TreeWalker
を使用して表されるノード型を判定します。 利用可能な定数のセットは、NodeFilter
インタフェースで定義されます。whatToShow
によって受け入れられないノードはスキップされますが、ノードの子は引き続き考慮されます。 フィルタがある場合、このスキップはフィルタよりも優先されます。 -
getFilter
NodeFilter getFilter()ノードの選別に使用されるフィルタ。 -
getExpandEntityReferences
boolean getExpandEntityReferences()このフラグの値は、実体参照ノードの子がTreeWalker
から可視かどうかを判定します。 falseの場合、子とその子孫は拒否されます。 この拒否は、whatToShow
とフィルタ(存在する場合)よりも優先されます。
展開された実体参照を持ち、実体参照ノード自体を表示しないドキュメントのビューを生成するには、TreeWalker
の作成時にwhatToShow
フラグを使用して実体参照ノードを非表示にし、expandEntityReferences
をtrueに設定します。 実体参照ノードを持ち、実体展開を持たないドキュメントのビューを生成するには、whatToShow
フラグを使用して実体参照ノードを表示し、expandEntityReferences
をfalseに設定します。 -
getCurrentNode
Node getCurrentNode()TreeWalker
が現在あるノード。
DOMツリーを変更すると、現在のノードがTreeWalker
の関連するノードに受け入れられなくなる可能性があります。また、root
ノードによって指定されたサブツリー内にあるかどうかにかかわらず、あるいはフィルタとwhatToShow
フラグによって受け入れられるかどうかにかかわらず、currentNode
は、明示的に任意のノードに設定することもできます。currentNode
が現在のビューの一部ではない場合でも、要求された方向にフィルタを適用すると、これに対してさらにトラバーサルが発生します。トラバーサルが不可能な場合、currentNode
は変更されません。 -
setCurrentNode
void setCurrentNode(Node currentNode) throws DOMException TreeWalker
が現在あるノード。
DOMツリーを変更すると、現在のノードがTreeWalker
の関連するノードに受け入れられなくなる可能性があります。また、root
ノードによって指定されたサブツリー内にあるかどうかにかかわらず、あるいはフィルタとwhatToShow
フラグによって受け入れられるかどうかにかかわらず、currentNode
は、明示的に任意のノードに設定することもできます。currentNode
が現在のビューの一部ではない場合でも、要求された方向にフィルタを適用すると、これに対してさらにトラバーサルが発生します。トラバーサルが不可能な場合、currentNode
は変更されません。- 例外:
DOMException
- NOT_SUPPORTED_ERR:currentNode
をnull
に設定しようとした場合に発生する。
-
parentNode
Node parentNode()現在のノードのもっとも近い可視の上位ノードに移動し、そのノードを返します。parentNode
の検索で、TreeWalker
のroot
ノードより上にたどろうとした場合、あるいは可視の上位ノードの検索に失敗した場合、このメソッドは現在の位置を維持し、null
を返します。- 戻り値:
- 新規の親ノード、現在のノードが
TreeWalker
の論理ビューに親を持たない場合はnull
。
-
firstChild
Node firstChild()TreeWalker
を現在のノードの最初の可視の子に移動し、新規ノードを返します。 現在のノードが可視の子を持たない場合、null
を返し、現在のノードを維持します。- 戻り値:
- 新規ノード、現在のノードが
TreeWalker
の論理ビューで可視の子を持たない場合はnull
。
-
lastChild
Node lastChild()TreeWalker
を現在のノードの最後の可視の子まで移動させ、新規ノードを返します。 現在のノードが可視の子を持たない場合、null
を返し、現在のノードを維持します。- 戻り値:
- 新規ノード、現在のノードが
TreeWalker
の論理ビューで子を持たない場合はnull
。
-
previousSibling
Node previousSibling()TreeWalker
を現在のノードの前の兄弟まで移動させ、新規ノードを返します。 現在のノードが可視の前の兄弟を持たない場合、null
を返し、現在のノードを維持します。- 戻り値:
- 新規ノード、現在のノードが
TreeWalker
の論理ビューで前の兄弟を持たない場合はnull
。
-
nextSibling
Node nextSibling()TreeWalker
を現在のノードの次の兄弟まで移動させ、新規ノードを返します。 現在のノードが可視の次の兄弟を持たない場合、null
を返し、現在のノードを維持します。- 戻り値:
- 新規ノード、現在のノードが
TreeWalker
の論理ビューで次の兄弟を持たない場合はnull
。
-
previousNode
Node previousNode()TreeWalker
を現在のノードについてドキュメント順に前の可視ノードまで移動し、新規ノードを返します。 現在のノードが前のノードを持たない場合、あるいはpreviousNode
の検索で、TreeWalker
のroot
ノードより上にたどろうとした場合、null
を返し、現在のノードを維持します。- 戻り値:
- 新規ノード、現在のノードが
TreeWalker
の論理ビューで前のノードを持たない場合はnull
。
-
nextNode
Node nextNode()TreeWalker
を現在のノードについてドキュメント順に次の可視ノードまで移動し、新規ノードを返します。 現在のノードが次のノードを持たない場合、あるいはnextNodeの検索で、TreeWalker
のroot
ノードより上にたどろうとした場合、null
を返し、現在のノードを維持します。- 戻り値:
- 新規ノード、現在のノードが
TreeWalker
の論理ビューで次のノードを持たない場合はnull
。
-