|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.xml.parsers.SAXParserFactory
public abstract class SAXParserFactory
어플리케이션이 SAX 베이스의 퍼서를 구성 및 취득해 XML 문서를 구문 분석 할 수 있도록(듯이) 하는 팩토리 API 를 정의합니다.
생성자 의 개요 | |
---|---|
protected |
SAXParserFactory ()
newInstance() 를 강제적으로 사용하는 protected 생성자 입니다. |
메소드의 개요 | |
---|---|
abstract boolean |
getFeature (String name)
org.xml.sax.XMLReader 의 기본이 되는 구현으로 요구된 특정의 프로퍼티을 돌려줍니다. |
Schema |
getSchema ()
setSchema(Schema schema) 메소드를 개입시켜 지정된 Schema 객체를 가져옵니다. |
boolean |
isNamespaceAware ()
팩토리가 이름 공간을 인식하는 퍼서를 작성하도록(듯이) 설정되어 있는지 어떤지를 나타냅니다. |
boolean |
isValidating ()
구문 분석시에 XML 컨텐츠를 검증하는 퍼서를 작성하도록(듯이) 팩토리가 설정되어 있는지 어떤지를 나타냅니다. |
boolean |
isXIncludeAware ()
XInclude 처리 상태를 가져옵니다. |
static SAXParserFactory |
newInstance ()
SAXParserFactory 의 새로운 인스턴스를 가져옵니다. |
static SAXParserFactory |
newInstance (String factoryClassName,
ClassLoader classLoader)
SAXParserFactory 의 새로운 인스턴스를 클래스명으로부터 가져옵니다. |
abstract SAXParser |
newSAXParser ()
현재 설정되어 있는 팩토리 파라미터를 사용해 SAXParser 의 새로운 인스턴스를 작성합니다. |
abstract void |
setFeature (String name,
boolean value)
org.xml.sax.XMLReader 의 기본이 되는 구현에 특정의 기능을 설정합니다. |
void |
setNamespaceAware (boolean awareness)
이 팩토리로 작성된 퍼서가 XML 이름 공간을 지원하도록(듯이) 지정합니다. |
void |
setSchema (Schema schema)
이 팩토리로부터 작성된 퍼서에 의해 사용되는 Schema 를 설정합니다. |
void |
setValidating (boolean validating)
이 팩토리로 작성된 퍼서가 구문 분석시에 문서의 타당성을 검증하도록(듯이) 지정합니다. |
void |
setXIncludeAware (boolean state)
XInclude 처리 상태를 설정합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
protected SAXParserFactory()
newInstance()
를 강제적으로 사용하는 protected 생성자 입니다.
메소드의 상세 |
---|
public static SAXParserFactory newInstance()
SAXParserFactory
의 새로운 인스턴스를 가져옵니다. 이 static 메소드는 새로운 팩토리 인스턴스를 작성합니다. 이 메소드는 다음의 순서의 검색 순서로, 로드하는 SAXParserFactory
구현 클래스를 결정합니다.
javax.xml.parsers.SAXParserFactory
시스템 프로퍼티을 사용한다
java.util.Properties
형식이며, 상기와 같이 정의된 시스템 프로퍼티인 키를 가지는 구현 클래스의 완전 지정의 이름을 포함한다.
jaxp.properties 파일은 JAXP 구현에 의해 1 회만 읽혀 그 값이 그 후의 사용을 위해 캐쉬된다. 최초의 read시에 파일이 존재하지 않으면 그 후에 그 존재가 체크될 것은 없다. 최초로 읽힌 뒤, jaxp.properties 의 프로퍼티의 값을 변경할 수 없다.
META-INF/services/javax.xml.parsers.SAXParserFactory
파일로부터 클래스명을 검색한다
SAXParserFactory
인스턴스
SAXParserFactory
에의 참조를 취득하면(자), 팩토리를 사용해 퍼서의 인스턴스를 설정 및 취득할 수가 있습니다.
jaxp.debug
시스템 프로퍼티을 설정하면(자), 이 메소드는 실행중의 처리나 검색하고 있는 장소에 관한 대량의 디버그 메세지를 System.err
에 출력합니다.
DocumentBuilder
의 로드에 문제가 있는 경우, 다음과 같이 합니다.
java -Djaxp.debug=1 YourProgram ....
FactoryConfigurationError
- 구현을 사용할 수 없는가
인스턴스화할 수 없는 경우public static SAXParserFactory newInstance(String factoryClassName, ClassLoader classLoader)
SAXParserFactory
의 새로운 인스턴스를 클래스명으로부터 가져옵니다. 이 함수는, 클래스 패스에 복수의 프로바이더가 있는 경우에 편리합니다. 어느 프로바이더가 로드 되는지를 지정할 수 있기 (위해)때문에, 어플리케이션을 한층 더 제어할 수 있습니다.
어플리케이션이 SAXParserFactory
에의 참조를 취득하면(자), 팩토리를 사용해 퍼서의 인스턴스를 설정 및 취득할 수가 있습니다.
jaxp.debug
시스템 프로퍼티을 설정하면(자), 이 메소드는 실행중의 처리나 검색하고 있는 장소에 관한 대량의 디버그 메세지를 System.err
에 출력합니다.
문제가 있는 경우, 다음과 같이 합니다.
java -Djaxp.debug=1 YourProgram ....
factoryClassName
- javax.xml.parsers.SAXParserFactory
의 구현을 제공하는, 완전 수식의 팩토리 클래스명입니다. classLoader
- 팩토리 클래스의 로드에 사용되는 ClassLoader
. null
의 경우는
현재의 Thread
의 문맥 classLoader 가, 팩토리 클래스의 로드에 사용됩니다.
SAXParserFactory
의 새로운 인스턴스
FactoryConfigurationError
- factoryClassName
가 null
, 또는,
팩토리 클래스가 로드, 인스턴스화할 수 없는 경우. newInstance()
public abstract SAXParser newSAXParser() throws ParserConfigurationException , SAXException
현재 설정되어 있는 팩토리 파라미터를 사용해 SAXParser 의 새로운 인스턴스를 작성합니다.
ParserConfigurationException
- 요구된 구성을 채운다
퍼서를 생성할 수 없는 경우
SAXException
- SAX 에러의 경우public void setNamespaceAware(boolean awareness)
false
로 설정됩니다.
awareness
- 이 팩토리로 작성된 퍼서가
XML 이름 공간을 지원하는 경우는 true, 그렇지 않은 경우는 falsepublic void setValidating(boolean validating)
false
로 설정됩니다.
여기서 말하는 「검증」이란, XML 권고로 정의되고 있는타당성을 검증하는 퍼서라고 하는 의미입니다. 즉, 실질적으로는 DTD 검증을 제어할 뿐(만큼)이라고 하는 것입니다. 다만, JAXP 1.2 에 정의되고 있는 종래의 2 개의 프로퍼티을 제외합니다.
DTD 는 아니고, W3C XML Schema 또는 RELAX NG 등이 새로운 schema 언어를 사용하는 경우는,setValidating(boolean)
메소드를 false
로 해 퍼서를 타당성을 검증하지 않는 설정으로 하고 나서,setSchema(Schema)
메소드로 schema를 퍼서에게 관련짓습니다.
validating
- 이 팩토리로 작성된 퍼서가
구문 분석시에 문서의 타당성을 검증하는 경우는 true, 그렇지 않은 경우는 falsepublic boolean isNamespaceAware()
public boolean isValidating()
public abstract void setFeature(String name, boolean value) throws ParserConfigurationException , SAXNotRecognizedException , SAXNotSupportedException
org.xml.sax.XMLReader 의 기본이 되는 구현에 특정의 기능을 설정합니다. 코어 기능과 코어 프로퍼티의 리스트에 대해서는,http://www.saxproject.org/ 의 사이트를 참조해 주세요.
구현은 모두,XMLConstants.FEATURE_SECURE_PROCESSING
기능을 지원하고 있을 필요가 있습니다. 이 기능에 대해서는 다음과 같습니다.
true
. true
의 경우, 구현은 구현 한계에 준거하는 XML 처리를 제한합니다. 예는, 엔티티 확장 제한이나 대용량의 자원을 소비하는 XML schema 등. 시큐리티상의 이유로부터 XML 처리가 제한되는 경우는, 등록을 마친 ErrorHandler.fatalError(SAXParseException exception)
에 호출을 개입시켜 보고된다. 핸들러 스펙에 대해서는,SAXParser
parse
메소드를 참조
false
의 경우, 구현은, 구현 한계에 상관하지 않고, XML 스펙에 따라 XML 를 처리한다
name
- 설정되는 기능의 이름value
- 설정되는 기능의 값
ParserConfigurationException
- 요구된 구성을 채운다
퍼서를 생성할 수 없는 경우
SAXNotRecognizedException
- 기본이 되는 XMLReader 가
프로퍼티명을 인식하지 않는 경우
SAXNotSupportedException
- 기본이 되는 XMLReader 는
프로퍼티명을 인식하지만, 그 프로퍼티을 지원하지 않는다
경우
NullPointerException
- name
파라미터가 null 의 경우XMLReader.setFeature(java.lang.String, boolean)
public abstract boolean getFeature(String name) throws ParserConfigurationException , SAXNotRecognizedException , SAXNotSupportedException
org.xml.sax.XMLReader 의 기본이 되는 구현으로 요구된 특정의 프로퍼티을 돌려줍니다.
name
- 꺼내지는 프로퍼티의 이름
ParserConfigurationException
- 요구된 구성을 채우는 퍼서를 생성할 수 없는 경우
SAXNotRecognizedException
- 기본이 되는 XMLReader 가 프로퍼티명을 인식하지 않는 경우
SAXNotSupportedException
- 기본이 되는 XMLReader 는 프로퍼티명을 인식하지만, 그 프로퍼티을 지원하지 않는 경우XMLReader.getProperty(java.lang.String)
public Schema getSchema()
setSchema(Schema schema)
메소드를 개입시켜 지정된 Schema
객체를 가져옵니다.
setSchema(Schema)
메소드를 개입시켜 마지막에
설정된 Schema
객체, 또는
SAXParserFactory
가 작성되고 나서 메소드가 불려 가지 않은 경우는
null
UnsupportedOperationException
- 구현이 이 메소드를
오버라이드(override) 하지 않는 경우public void setSchema(Schema schema)
이 팩토리로부터 작성된 퍼서에 의해 사용되는 Schema
를 설정합니다.
발리 데이터에 의해 에러가 검출되면(자), 퍼서 자신이 에러를 검출했을 경우와 같게, 퍼서가 그 에러를 사용자 지정 DOMErrorHandler
에 보고합니다.
발리 데이터에 의해 경고, 에러, 중대한 에러가 검출되면(자), 퍼서는 자신이 이러한 에러를 검출했을 경우와 같게 이것들을 처리할 필요가 있습니다. 즉, 사용자 지정 ErrorHandler
가 설정되어 있는 경우는, 이러한 에러를 받아, 그렇지 않은 경우는 구현 고유의 디폴트의 에러 처리 규칙에 따라 처리될 필요가 있습니다.
발리 데이터는 SAX 이벤트 스트림을 변경하는 일이 있어 (예를 들어, 문서로부터 없어지고 있던 디폴트 값를 추가하는 등), 퍼서는 이러한 변경된 이벤트 스트림을 어플리케이션이 확실히 받도록(듯이) 하는 역할을 가집니다.
최초로,Schema
로서 null
가 설정됩니다.
이 처리는 isValidating()
메소드가 false
를 돌려주었을 경우에서도 유효합니다.
http://java.sun.com/xml/jaxp/properties/schemaSource
프로퍼티 또는 http://java.sun.com/xml/jaxp/properties/schemaLanguage
프로퍼티을 null 이외 Schema
객체와 함께 사용하면(자) 에러가 됩니다. 이러한 설정에서는, 이러한 프로퍼티이 SAXParser
로 설정되어 있으면(자) SAXException
예외가 발생합니다.
퍼서는, 모든 Schema
구현으로 동작할 필요가 있습니다. 다만, 퍼서 및 schema가 스펙에 기재되어 있는 결과를 내는 한, 구현 고유의 커스텀 기구를 사용할 수 있습니다.
schema
- 사용하는 Schema
또는 schema를 삭제하는 경우는 null
UnsupportedOperationException
- 구현이 이 메소드를
오버라이드(override) 하지 않는 경우public void setXIncludeAware(boolean state)
XInclude 처리 상태를 설정합니다.
문서 인스턴스에 XInclude 마크 업이 발견되었을 경우,「XML Inclusions (XInclude) Version 1.0」으로 지정되고 있는 대로 처리할 필요가 있습니다.
XInclude 처리의 디폴트는 false
로 설정됩니다.
state
- XInclude 처리를 true
또는 false
로 설정한다
UnsupportedOperationException
- 구현이 이 메소드를
오버라이드(override) 하지 않는 경우public boolean isXIncludeAware()
XInclude 처리 상태를 가져옵니다.
UnsupportedOperationException
- 구현이 이 메소드를
오버라이드(override) 하지 않는 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.