EntityResolver2
EntityResolver2 (외부 엔티티 해석 확장 인터페이스)
외부 엔티티 참조를 입력 소스로 매핑하거나, 누락된 외부 하위 집합(external subset)을 제공하기 위한 확장 인터페이스예요.
본문
XMLReader.setEntityResolver() 메서드는 이 인터페이스의 구현을 파서에 제공하는 데 사용돼요. 파서가 이 인터페이스의 메서드를 사용할 때는 다소 오래된(SAX 1.0) EntityResolver.resolveEntity() 메서드 대신 이 인터페이스의 EntityResolver2.resolveEntity() 메서드를 사용해요.
SAX 애플리케이션이 이 인터페이스가 정의하는 외부 엔티티의 사용자 지정 처리를 요구한다면, http://xml.org/sax/features/use-entity-resolver2 기능 플래그가 true(인식될 때 기본값)로 설정된 XMLReader를 사용해야 해요. 그 플래그가 인식되지 않거나 값이 false이거나 리졸버가 이 인터페이스를 구현하지 않으면 EntityResolver 메서드만 사용돼요.
resolveEntity(String name, String publicId, String baseURI, String systemId)와 getExternalSubset(String name, String baseURI) 두 메서드가 있어요. 이 인터페이스는 DTD 처리, 외부 엔티티, 대체 입력 제공의 세 가지 애플리케이션 범주를 지원해요.