JavaTM Platform
Standard Ed. 6

org.w3c.dom.ls
인터페이스 LSResourceResolver



public interface LSResourceResolver

LSResourceResolver 를 사용하면(자), 어플리케이션은 외부 자원에 대한 참조를 리다이렉트(redirect) 할 수 있습니다.

외부 자원의 커스텀 처리를 구현할 필요가 있는 어플리케이션은, 이 인터페이스를 구현해,LSParserLSSerializer 에 접속된 DOMConfiguration 객체의 「resource-resolver」파라미터를 설정하는 것에 의해 구현을 등록할 수 있습니다. 또, 「LS」기능이 지원되고 있는 경우는,Document 에 접속된 DOMConfiguration 객체에의 등록도 가능합니다.

그 후,LSParser 에 의해, 어플리케이션은, 외부 엔티티 (외부 DTD 부분집합, 외부 파라메이타엔티티를 포함한다)를 수중에 넣기 전에 차단할 수 있습니다. 톱 레벨의 문서 엔티티는,resolveResource 메소드에는 건네받지 않습니다.

이 인터페이스를 구현할 필요가 있는 DOM 어플리케이션은 그다지 없습니다만, 이 인터페이스는, 데이타베이스나 그 외의 특수한 입력 소스로부터 XML 문서를 구축하는 것 같은 어플리케이션, 혹은 URN 를 사용하는 어플리케이션에서는 매우 유효합니다.

주: LSResourceResolver 는, SAX2「SAX」 EntityResolver 인터페이스에 근거하고 있습니다.

「Document Object Model (DOM) Level 3 Load and Save Specification」도 참조해 주세요.


메소드의 개요
 LSInput resolveResource (String  type, String  namespaceURI, String  publicId, String  systemId, String  baseURI)
          어플리케이션이 외부 자원을 해결할 수 있도록(듯이) 합니다.
 

메소드의 상세

resolveResource

LSInput  resolveResource(String  type,
                        String  namespaceURI,
                        String  publicId,
                        String  systemId,
                        String  baseURI)
어플리케이션이 외부 자원을 해결할 수 있도록(듯이) 합니다.
LSParser 는, 외부 자원 (외부 DTD 부분집합, DTD 내에서 참조되는 외부 엔티티, 및 문서 요소내에서 참조되는 외부 엔티티등)을 열기 전에, 이 메소드를 호출합니다. 다만, 톱 레벨의 문서 엔티티는 이 메소드에는 건네받지 않습니다. 그 후, 어플리케이션은,LSParser 가 외부 자원 자체를 해결하는 것이나, 대체 URI 를 사용하는 것, 또는 완전히 다른 입력 소스를 사용하는 것을 요구합니다.
어플리케이션 작자는, 이 메소드를 사용해 외부 시스템 식별자를 안전한 로컬 URI 에 리다이렉트(redirect) 하거나 카탈로그내의 공개 식별자를 검색하거나 데이타베이스나 그 외의 입력 소스 (예를 들어 다이알로그 박스등)로부터 엔티티를 읽어내거나 할 수 있습니다.

파라미터:
type - 해결되는 자원의 형태. XML「XML 1.0」자원 (엔티티등)의 경우, 어플리케이션은, 값 「http://www.w3.org/TR/REC-xml」를 사용할 필요가 있다. XML schema「XML Schema Part 1」 의 경우는, 어플리케이션으로 값 「http://www.w3.org/2001/XMLSchema」를 사용할 필요가 있다. 다른 자원의 형태는 이 스펙의 범위외. 따라서, 이 메소드를 사용하려면 , 절대 URI 를 추천 하는
namespaceURI - 해결되는 이름 공간. XML schema 자원을 해결하고 있을 때는, XML schema「XML Schema Part 1」 의 타겟 이름 공간
publicId - 참조되는 외부 엔티티의 공개 식별자. 공개 식별자가 제공되지 않았던 경우나 자원이 엔티티가 아닌 경우는 null
systemId - 참조되는 외부 자원의 시스템 식별자 (URI 참조「IETF RFC 2396」). 시스템 식별자가 제공되지 않았던 경우는 null
baseURI - 해석되는 자원의 절대 베이스 URI. 베이스 URI 가 없는 경우는 null
반환값:
새로운 입력 소스를 기술하는 LSInput 객체. 퍼서에게 자원에의 정규 URI 접속을 요구하는 경우는 null

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.