LSParserFilter

LSParserFilter (파싱 중 노드 검사 필터)

LSParserFilter는 파싱 중에 노드가 생성되는 과정에서 애플리케이션이 그 노드를 검사할 수 있게 해 주는 인터페이스예요. 각 노드를 검사할 때 노드를 수정하거나 제거하거나, 파싱 전체를 일찍 종료할 수 있어요.

출처: Java API Reference

본문

파서가 필터 메서드를 호출할 때는 소유자 DocumentDOMImplementation 객체가 이미 존재하고 접근 가능해요. 문서 요소(document element)는 필터 메서드에 전달되지 않아서 필터링할 수 없어요.

Document, DocumentType, Notation, Entity, Attr 노드는 acceptNode 메서드에 전달되지 않아요. "entities" 파라미터가 false로 설정된 경우에만 EntityReference 노드의 자식 노드가 필터로 전달돼요.

필터 메서드의 반환 값과 의미는 다음과 같아요.

  • FILTER_ACCEPT: 노드를 받아들여요.
  • FILTER_REJECT: 노드와 그 자식을 거부해요.
  • FILTER_SKIP: 이 단일 노드만 건너뛰어요.
  • FILTER_INTERRUPT: 문서의 일반 처리를 중단해요.

DOM 애플리케이션은 필터에서 예외를 발생시키지 말아야 해요. 필터에서 예외를 던지는 효과는 DOM 구현에 따라 달라져요.

더 알아보기 (Learn more)

Java 공식 API