TreeWalker
TreeWalker (문서 트리 탐색)
TreeWalker 객체는 whatToShow 플래그와 필터(있는 경우)가 정의한 문서 뷰를 사용해 문서 트리나 하위 트리를 탐색하는 데 사용돼요.
본문
TreeWalker를 사용해 탐색을 수행하는 함수는 TreeWalker가 정의하는 뷰를 자동으로 지원해요. 하위 트리의 논리적 뷰에서 노드를 생략하면 완전하고 필터링되지 않은 동일한 하위 트리와는 상당히 다른 구조가 될 수 있어요. TreeWalker 뷰에서 형제인 노드가 원본 뷰에서는 서로 멀리 떨어진 다른 노드의 자식일 수도 있어요.
getRoot()는 루트 노드를, getWhatToShow(), getFilter(), getExpandEntityReferences()는 각각 표시 타입, 필터, 엔티티 참조 확장 여부를 반환해요. getCurrentNode()와 setCurrentNode(Node)로 현재 노드를 얻고 설정할 수 있어요.
탐색 메서드로는 부모로 이동하는 parentNode(), 자식으로 이동하는 firstChild()와 lastChild(), 형제로 이동하는 previousSibling()과 nextSibling(), 그리고 문서 순서 탐색의 previousNode()와 nextNode()가 있어요.