モジュール java.xml
パッケージ org.w3c.dom.traversal

インタフェースTreeWalker


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から可視かどうかを判定します。
    ノードの選別に使用されるフィルタ。
    作成時に指定されたTreeWalkerrootノード。
    int
    この属性は、TreeWalkerを使用して表されるノード型を判定します。
    TreeWalkerを現在のノードの最後の可視の子まで移動させ、新規ノードを返します。
    TreeWalkerを現在のノードについてドキュメント順に次の可視ノードまで移動し、新規ノードを返します。
    TreeWalkerを現在のノードの次の兄弟まで移動させ、新規ノードを返します。
    現在のノードのもっとも近い可視の上位ノードに移動し、そのノードを返します。
    TreeWalkerを現在のノードについてドキュメント順に前の可視ノードまで移動し、新規ノードを返します。
    TreeWalkerを現在のノードの前の兄弟まで移動させ、新規ノードを返します。
    void
    setCurrentNode(Node currentNode)
    TreeWalkerが現在あるノード。
  • メソッドの詳細

    • getRoot

      Node getRoot()
      作成時に指定されたTreeWalkerrootノード。
    • 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: currentNodenullに設定しようとした場合に発生する。
    • parentNode

      Node parentNode()
      現在のノードのもっとも近い可視の上位ノードに移動し、そのノードを返します。 parentNodeの検索で、TreeWalkerrootノードより上にたどろうとした場合、あるいは可視の上位ノードの検索に失敗した場合、このメソッドは現在の位置を維持し、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の検索で、TreeWalkerrootノードより上にたどろうとした場合、nullを返し、現在のノードを維持します。
      戻り値:
      新規ノード、現在のノードがTreeWalkerの論理ビューで前のノードを持たない場合はnull
    • nextNode

      Node nextNode()
      TreeWalkerを現在のノードについてドキュメント順に次の可視ノードまで移動し、新規ノードを返します。 現在のノードが次のノードを持たない場合、あるいはnextNodeの検索で、TreeWalkerrootノードより上にたどろうとした場合、nullを返し、現在のノードを維持します。
      戻り値:
      新規ノード、現在のノードがTreeWalkerの論理ビューで次のノードを持たない場合はnull