2009-07-14 6 views
1

들어오는 XML 문서를 파싱해야합니다. 모두 동일한 DTD를가집니다. 새 xml 문서를 파싱해야 할 때마다 Sax Parser가 DTD를로드하는 것을 원하지 않습니다. 어쨌든 DTD를 파서에로드하고 후속 구문 분석 호출에서 재사용 할 수 있습니까?DTD를 SAX 파서 (Java)에로드

답변

3

문서를로드 할 때마다 원격 URL에서 DTD가로드되는지 확실하지 않습니다.

그렇다면 EntityResolver을 정의하고 DTD의 로컬 사본을 지정할 수 있습니다. 그러면 SAX 파서가 문서를 파싱 할 때마다 로컬 DTD 인스턴스에 대한 참조가 제공됩니다.

불행히도 DTD를 미리로드하거나 미리 구문 분석 할 수있는 방법이 없다고 생각합니다.

+0

중복 DTD 관련 객체를 모두로드하는 데 소요되는 오버 헤드를 제거하고 싶습니다. 나는 많은 xml 문서를 빠른 속도로 연속적으로 수신 할 것이고 신속하게 처리 할 필요가있을 것이다. – anio

+0

나는 당신이 제거 할 수있는 유일한 오버 헤드가 원격로드라고 생각합니다. –

관련 문제