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