|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.xml.validation.ValidatorHandler
public abstract class ValidatorHandler
SAX 스트림에 유효한 스트리밍 발리 데이터.
ValidatorHandler
객체는 thread에 대해서 안전하지 않고, 재입 불가능합니다. 즉, 어플리케이션측에서, 어떠한 경우에서도 1 개 ValidatorHandler
객체가 복수의 thread로부터 사용되는 것이 없게 할 필요가 있습니다.
ValidatorHandler
는, SAX 이벤트가 관련하는 Schema
에 기술된 제약 세트에 따르고 있는지 어떤지를 체크합니다. 또, 디폴트 값의 추가등에 의해, SAX 이벤트를 변경할 수도 있습니다.
ValidatorHandler
는 ContentHandler
로부터의 확장입니다만, 다음과 같이 기본이 되는 ContentHandler
을 세련 시킵니다.
uri
,localName
, 및 qname
의 null 이외의 캐릭터 라인을 받을 필요가 있습니다. SAX 로 null 가 되는 것이 허가되고 있는 경우에서도 들어맞읍니다. 같이 사용자 지정 ContentHandler
가 이것들 3 종류의 파라미터의 null 이외의 캐릭터 라인을 받습니다.
ValidatorHandler
의 ContentHandler.startPrefixMapping(String, String)
와 ContentHandler.endPrefixMapping(String)
가 올바르게 불려 가도록(듯이) 할 필요가 있습니다. 같이 사용자 지정 ContentHandler
이 startPrefixMapping 및 endPrefixMapping 이벤트를 받습니다. ValidatorHandler
가 추가의 이름 공간 바인딩을 도입하는 경우, 사용자 지정 ContentHandler
은 추가의 startPrefixMapping 및 endPrefixMapping 이벤트를 받습니다.
ContentHandler.startElement(String, String, String, Attributes)
메소드 Attributes
에는, xmlns* 속성이 포함되는 경우와 포함되지 않는 경우가 있습니다.
startDocument 메소드가 불려 갈 때마다 ValidatorHandler
는 자동적으로 리셋 됩니다.
이 스펙에서는,ValidatorHandler
의 모든 구현으로 인식할 필요가 있는 다음의 기능을 정의하고 있습니다.
http://xml.org/sax/features/namespace-prefixes
이 기능은 ValidatorHandler
가 원의 SAX 이벤트 스트림에 존재하지 않는 이름 공간 바인딩을 취득하는 방법을 제어합니다. 이 기능이 true 로 설정되어 있는 경우는, 사용자 ContentHandler
로 ContentHandler.startElement(String, String, String, Attributes)
콜백 Attributes
객체의 대응하는 xmlns*
속성을 확인할 필요가 있습니다. 그렇지 않은 경우는, 사용자 지정 ContentHandler
에게 건네지는 Attributes
에xmlns*
속성이 추가되지 않습니다.
이 변환에 관계없이, 이름 공간 바인딩은, 항상 사용자 지정 ContentHandler
의 ContentHandler.startPrefixMapping(String, String)
및 ContentHandler.endPrefixMapping(String)
를 개입시켜 어플리케이션에 통지됩니다.
이 기능은 ValidatorHandler
로 SAX 이벤트를 받는 방법에는 영향을 주지 않습니다. SAX 이벤트의 확장 방법을 변경할 뿐입니다.
이 기능은 디폴트로 false
로 설정됩니다.
생성자 의 개요 | |
---|---|
protected |
ValidatorHandler ()
상속 클래스의 생성자 입니다. |
메소드의 개요 | |
---|---|
abstract ContentHandler |
getContentHandler ()
확장된 검증 결과를 받는 ContentHandler 를 가져옵니다. |
abstract ErrorHandler |
getErrorHandler ()
이 ValidatorHandler 로 설정된 현재 ErrorHandler 를 가져옵니다. |
boolean |
getFeature (String name)
기능 플래그의 값을 검색합니다. |
Object |
getProperty (String name)
프로퍼티치를 검색합니다. |
abstract LSResourceResolver |
getResourceResolver ()
이 ValidatorHandler 로 설정된 현재 LSResourceResolver 를 가져옵니다. |
abstract TypeInfoProvider |
getTypeInfoProvider ()
이 ValidatorHandler TypeInfoProvider 구현을 가져옵니다. |
abstract void |
setContentHandler (ContentHandler receiver)
확장된 검증 결과를 받는 ContentHandler 를 설정합니다. |
abstract void |
setErrorHandler (ErrorHandler errorHandler)
검증으로 발생한 에러를 받도록(듯이) ErrorHandler 를 설정합니다. |
void |
setFeature (String name,
boolean value)
이 ValidatorHandler 의 기능을 설정합니다. |
void |
setProperty (String name,
Object object)
프로퍼티치를 설정합니다. |
abstract void |
setResourceResolver (LSResourceResolver resourceResolver)
검증시의 자원 해결을 커스터마이즈 하도록(듯이) LSResourceResolver 를 설정합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
인터페이스 org.xml.sax. ContentHandler 로부터 상속된 메소드 |
---|
characters , endDocument , endElement , endPrefixMapping , ignorableWhitespace , processingInstruction , setDocumentLocator , skippedEntity , startDocument , startElement , startPrefixMapping |
생성자 의 상세 |
---|
protected ValidatorHandler()
상속 클래스의 생성자 입니다.
이 생성자 은 아무것도 실시하지 않습니다.
상속 클래스에서는,null
ErrorHandler
및 null
LSResourceResolver
ValidatorHandler
객체를 작성할 필요가 있습니다.
메소드의 상세 |
---|
public abstract void setContentHandler(ContentHandler receiver)
ContentHandler
를 설정합니다.
ContentHandler
가 지정되면(자),ValidatorHandler
는 필터로서 기능해, 기본적으로는 입력 이벤트가 지정된 ContentHandler
에 카피합니다.
이 실행으로 ValidatorHandler
는, 예를 들어 디폴트의 속성을 추가해, 이벤트를 변경할 수도 있습니다.
ValidatorHandler
는 일정량의 이벤트를 버퍼에 포함할 수가 있습니다만, 퍼서가 ValidatorHandler
를 사용할 수 있도록(듯이) 하기 위해서, 다음의 요건을 채울 필요가 있습니다.
ContentHandler.startElement(String, String, String, Attributes)
,ContentHandler.endElement(String, String, String)
,ContentHandler.startDocument()
, 또는 ContentHandler.endDocument()
가 ValidatorHandler
로 불려 갔을 때, 콜백이 돌려주어지기 전에 사용자 지정 ContentHandler
상의 같은 메소드를 같은 이벤트에 대해서 호출할 필요가 있습니다.
ValidatorHandler
는, 입력에 존재하지 않았다 새로운 요소를 도입하지 않을 가능성이 있습니다.
ValidatorHandler
는, 입력에 존재한 속성을 삭제하지 않을 가능성이 있습니다.
지정된 ContentHandler
의 콜백 메소드가 예외를 throw 했을 경우,ValidatorHandler
로부터 같은 예외 객체를 throw 할 필요가 있습니다. ErrorHandler
에는 그러한 예외를 통지하지 말아 주세요.
이 메소드는 검증의 도중에도 호출할 수가 있습니다.
receiver
- ContentHandler
또는 null 치public abstract ContentHandler getContentHandler()
ContentHandler
를 가져옵니다.
getContentHandler()
메소드에 의해
마지막에 설정된 객체를 돌려준다. 또는,
이 ValidatorHandler
가 작성되고 나서,
그 메소드가 불려 가지 않은 경우는 null 를 돌려주는setContentHandler(ContentHandler)
public abstract void setErrorHandler(ErrorHandler errorHandler)
ErrorHandler
를 설정합니다.
에러 핸들러를 사용해, 검증시의 에러 처리 프로세스를 커스터마이즈 할 수 있습니다. ErrorHandler
를 설정하면(자), 검증으로 발견된 에러는 우선 ErrorHandler
에 보내집니다.
에러 핸들러는 핸들러로부터 SAXException
를 throw 해, 검증을 즉시 중단할 수가 있습니다. 또는, 에러를 화면에 출력하거나ErrorHandler
로부터 정상적으로 돌아와 검증을 속행시키거나 할 수도 있습니다.
Throwable
가 ErrorHandler
로부터 throw 되면(자), 호출 스택의 루트에 같은 Throwable
객체가 throw 됩니다.
ValidatorHandler
는, 최초로 ErrorHandler
에 보고하지 않으면,SAXException
를 throw 할 수가 없습니다.
ErrorHandler
가 null 의 경우, 구현은 다음 ErrorHandler
가 설정되었는지와 같이 동작합니다.
class DraconianErrorHandler implementsErrorHandler
{ public void fatalError(SAXParseException
e ) throwsSAXException
{ throw e; } public void error(SAXParseException
e ) throwsSAXException
{ throw e; } public void warning(SAXParseException
e ) throwsSAXException
{ // noop } }
새로운 ValidatorHandler
객체가 작성되면(자), 최초로 이 필드는 null 로 설정됩니다.
errorHandler
- 설정하는 새로운 에러 핸들러. 이 파라미터는 null 도 가능public abstract ErrorHandler getErrorHandler()
ValidatorHandler
로 설정된 현재 ErrorHandler
를 가져옵니다.
setErrorHandler(ErrorHandler)
메소드에 의해
마지막에 설정된 객체를 돌려준다. 또는,
이 ValidatorHandler
가 작성되고 나서,
그 메소드가 불려 가지 않은 경우는 null 를 돌려주는setErrorHandler(ErrorHandler)
public abstract void setResourceResolver(LSResourceResolver resourceResolver)
LSResourceResolver
를 설정합니다.
ValidatorHandler
는, 검증중에 외부 자원의 장소를 확인할 필요가 있을 때 LSResourceResolver
를 사용합니다만, 「외부 자원의 검색」을 엄밀하게 구성하는 것은 schema 언어에 의해 다릅니다.
LSResourceResolver
가 null 의 경우, 구현은 다음 LSResourceResolver
가 설정되었는지와 같이 동작합니다.
class DumbLSResourceResolver implementsLSResourceResolver
{ publicLSInput
resolveResource( String publicId, String systemId, String baseURI) { return null; // always return null } }
LSResourceResolver
가 RuntimeException
(또는 그 상속 클래스의 인스턴스)를 throw 하면(자),ValidatorHandler
는 구문 분석을 이상종료(ABEND) 해,validate
메소드의 호출원래는 같은 RuntimeException
를 받습니다.
새로운 ValidatorHandler
객체가 작성되면(자), 최초로 이 필드는 null 로 설정됩니다.
resourceResolver
- 설정하는 새로운 자원 리절버. 이 파라미터는 null 도 가능public abstract LSResourceResolver getResourceResolver()
ValidatorHandler
로 설정된 현재 LSResourceResolver
를 가져옵니다.
setResourceResolver(LSResourceResolver)
메소드에 의해
마지막에 설정된 객체를 돌려준다. 또는,
이 ValidatorHandler
가 작성되고 나서,
그 메소드가 불려 가지 않은 경우는 null 를 돌려주는setErrorHandler(ErrorHandler)
public abstract TypeInfoProvider getTypeInfoProvider()
ValidatorHandler
TypeInfoProvider
구현을 가져옵니다.
취득한 TypeInfoProvider
는 구문 분석시에 조회해, 발리 데이터에 의해 판단된 형태 정보에 액세스 할 수 있습니다.
schema 언어에 따라서는, 형태의 개념을 정의하고 있지 않는 것도 있어, 그러한 언어의 경우, 이 메소드가 지원되지 않는 것도 있습니다. 그러나, 이 스펙에 준거하기 위해(때문에), W3C XML Schema 1.0 의 구현에서는 이 처리를 지원할 필요가 있습니다.
TypeInfo
의 개념을 지원하고 있지 않는 경우.
지원하고 있는 경우는 null 이외의 유효한 TypeInfoProvider
public boolean getFeature(String name) throws SAXNotRecognizedException , SAXNotSupportedException
기능명은 완전 수식 URI 입니다. ValidatorHandler
는 기능명을 인식할 수 있습니다만, 일시적으로 그 값을 돌려줄 수 없습니다. 기능의 값에 따라서는, 검증의 실행전, 실행중, 실행 후등의 특정의 문맥으로 밖에 사용할 수 없는 경우가 있습니다.
독자적인 URI 에 근거해 작성된 이름을 사용해, 구현자가 독자적인 기능을 작성할 수도 있습니다 (추천).
name
- 기능명. null 이외의 완전 수식 URI 로 나타내진다
SAXNotRecognizedException
- 기능치를 할당할 수 없는,
또는 취득할 수 없는 경우
SAXNotSupportedException
- ValidatorHandler
가
기능명을 인식하는 것만으로,
현시점에서는 그 값을 판단할 수 없는 경우
NullPointerException
- name
가 null
의 경우setFeature(String, boolean)
public void setFeature(String name, boolean value) throws SAXNotRecognizedException , SAXNotSupportedException
이 ValidatorHandler
의 기능을 설정합니다.
기능을 사용하면(자),ValidatorHandler
가 schema를 구문 분석 하는 방법을 제어할 수 있습니다. 기능명은 완전 수식 URI 입니다. 기능명은 완전 수식 URI 입니다. SchemaFactory
는 기능의 값을 표시할 수 있습니다만, 현재의 값을 변경할 수 없습니다. 기능의 값에 따라서는, 검증의 실행전, 실행중, 실행 후등의 특정의 문맥에서만 불변 또는 가변인 경우가 있습니다.
구현은 모두,XMLConstants.FEATURE_SECURE_PROCESSING
기능을 지원하고 있을 필요가 있습니다. 이 기능에 대해서는 다음과 같습니다.
true
의 경우, 구현은 구현 한계에 준거하는 XML 처리를 제한합니다. 예로서는, 엔티티 확장 제한이나 대용량의 자원을 소비하는 XML schema등이 있습니다. 시큐리티상의 이유로부터 XML 처리가 제한되는 경우는, 등록을 마친 ErrorHandler.fatalError(SAXParseException exception)
에 호출을 개입시켜 보고됩니다. setErrorHandler(ErrorHandler errorHandler)
를 참조해 주세요.
false
의 경우, 구현은, 구현 한계를 고려하지 않고 , XML 스펙에 따라 XML 를 처리합니다.
name
- 기능명. null 이외의 완전 수식 URI 로 나타내지는value
- 기능의 요구된 값 (true 또는 false)
SAXNotRecognizedException
- 기능치를 할당할 수 없는,
또는 취득할 수 없는 경우
SAXNotSupportedException
- ValidatorHandler
가
기능명을 인식하는 것만으로,
요구된 값을 설정할 수 없는 경우
NullPointerException
- name
가 null
의 경우getFeature(String)
public void setProperty(String name, Object object) throws SAXNotRecognizedException , SAXNotSupportedException
프로퍼티명은 완전 수식 URI 입니다. ValidatorHandler
는 프로퍼티명을 인식할 수 있습니다만, 현재의 값을 변경할 수 없습니다. 프로퍼티의 값에 따라서는, 검증의 실행전, 실행중, 실행 후등의 특정의 문맥에서만 불변 또는 가변인 경우가 있습니다.
ValidatorHandler
는 특정의 프로퍼티명의 설정을 인식할 필요는 없습니다.
name
- 프로퍼티명. null 이외의 완전 수식 URI 로 나타내지는object
- 요구된 프로퍼티치
SAXNotRecognizedException
- 프로퍼티의 값을 할당할 수 없는,
또는 취득할 수 없는 경우
SAXNotSupportedException
- ValidatorHandler
가
프로퍼티명을 인식하는 것만으로,
요구된 값을 설정할 수 없는 경우
NullPointerException
- name
가 null
의 경우public Object getProperty(String name) throws SAXNotRecognizedException , SAXNotSupportedException
프로퍼티명은 완전 수식 URI 입니다. ValidatorHandler
는 프로퍼티명을 인식할 수 있습니다만, 일시적으로 그 값을 돌려줄 수 없습니다. 프로퍼티의 값에 따라서는, 검증의 실행전, 실행중, 실행 후등의 특정의 문맥으로 밖에 사용할 수 없는 경우가 있습니다.
ValidatorHandler
는 특정의 프로퍼티명을 인식할 필요는 없습니다.
독자적인 URI 에 근거해 작성된 이름을 사용해, 구현자가 독자적인 프로퍼티을 작성할 수도 있습니다 (추천).
name
- 프로퍼티명. null 이외의 완전 수식 URI 로 나타내진다
SAXNotRecognizedException
- 프로퍼티의 값을 할당할 수 없는,
또는 취득할 수 없는 경우
SAXNotSupportedException
- XMLReader 가
프로퍼티명을 인식하는 것만으로,
현시점에서는 그 값을 판단할 수 없는 경우
NullPointerException
- name
가 null
의 경우setProperty(String, Object)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.