|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectorg.xml.sax.helpers.DefaultHandler
org.xml.sax.ext.DefaultHandler2
public class DefaultHandler2
이 클래스는 SAX2 의 기본이 되는 핸들러 클래스를 확장해 SAX2 LexicalHandler
,DeclHandler
, 및 EntityResolver2
확장을 지원합니다. 원의 SAX1 resolveEntity()
메소드를 오버라이드(override) 하는 이외는, 추가하는 핸들러의 메소드가 돌려주어질 뿐입니다. 사브크라사는 메소드 마다 모든 것을 오버라이드(override) 할 수 있습니다.
이 모듈은, 원시 코드, 문서 모두 공개 도메인에 놓여져 있습니다. 따라서, 내용에 관한보증은 일절 제공되지 않습니다.
주:이 클래스는, 「ContentHandler.setDocumentLocator()」호출에 Locator2
객체가 건네받아 또 「ContentHandler.startElement()」호출에 Attributes2
객체가 건네받은 것을 벌써 인식하고 있을 가능성이 있습니다.
생성자 의 개요 | |
---|---|
DefaultHandler2 ()
모든 구문 분석 이벤트를 무시하는 핸들러를 구축합니다. |
메소드의 개요 | |
---|---|
void |
attributeDecl (String eName,
String aName,
String type,
String mode,
String value)
속성형 선언을 보고합니다. |
void |
comment (char[] ch,
int start,
int length)
문서내의 임의의 위치에 있는 XML 코멘트를 보고합니다. |
void |
elementDecl (String name,
String model)
요소형 선언을 보고합니다. |
void |
endCDATA ()
CDATA 섹션의 마지막을 보고합니다. |
void |
endDTD ()
DTD 선언의 마지막을 보고합니다. |
void |
endEntity (String name)
엔티티의 마지막을 보고합니다. |
void |
externalEntityDecl (String name,
String publicId,
String systemId)
구문 분석 끝난 외부 엔티티 선언을 보고합니다. |
InputSource |
getExternalSubset (String name,
String baseURI)
외부 부분집합이 문서 텍스트에 선언되지 않았던 경우, 아무것도 사용되지 않는 것을 퍼서에게 통지합니다. |
void |
internalEntityDecl (String name,
String value)
내부 엔티티 선언을 보고합니다. |
InputSource |
resolveEntity (String publicId,
String systemId)
null 의 엔티티명과 베이스 URI 를 사용해 EntityResolver2.resolveEntity() 를 호출합니다. |
InputSource |
resolveEntity (String name,
String publicId,
String baseURI,
String systemId)
기저 URI 에 대해서 systemId 를 해석 처리해 결과가 절대 URI 가 된 엔티티테키스트를 읽어내도록(듯이) 퍼서에게 통지합니다. |
void |
startCDATA ()
CDATA 섹션의 개시를 보고합니다. |
void |
startDTD (String name,
String publicId,
String systemId)
DTD 선언이 있는 경우, 그 개시를 보고합니다. |
void |
startEntity (String name)
내부 및 외부의 XML 엔티티의 일부의 개시를 보고합니다. |
클래스 org.xml.sax.helpers. DefaultHandler 로부터 상속된 메소드 |
---|
characters , endDocument , endElement , endPrefixMapping , error , fatalError , ignorableWhitespace , notationDecl , processingInstruction , setDocumentLocator , skippedEntity , startDocument , startElement , startPrefixMapping , unparsedEntityDecl , warning |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public DefaultHandler2()
메소드의 상세 |
---|
public void startCDATA() throws SAXException
LexicalHandler
의 기술:CDATA 섹션의 컨텐츠는, 정규의 characters
이벤트를 개입시켜 보고됩니다. 이 이벤트는 경계의 보고인 만큼 사용됩니다.
LexicalHandler
내의 startCDATA
SAXException
- 어플리케이션이 예외를 생성하는 일이 있는LexicalHandler.endCDATA()
public void endCDATA() throws SAXException
LexicalHandler
의 기술:
LexicalHandler
내의 endCDATA
SAXException
- 어플리케이션이 예외를 생성하는 일이 있는LexicalHandler.startCDATA()
public void startDTD(String name, String publicId, String systemId) throws SAXException
LexicalHandler
의 기술:이 메소드는, DOCTYPE 선언의 개시를 보고하는 메소드입니다. 문서에 DOCTYPE 선언이 포함되지 않은 경우는 불려 가지 않습니다.
DTDHandler
또는 DeclHandler
이벤트를 개입시켜 보고되는 모든 선언은, startDTD 이벤트로부터 endDTD
이벤트까지의 사이에 출현하게 되어 있습니다. 선언은,startEntity
이벤트로부터 endEntity
이벤트까지의 사이에 출현하지 않으면 내부 DTD 부분집합에 소속하는 것이라고 보여집니다. DTD 의 코멘트 및 처리 명령도, startDTD 이벤트로부터 endDTD 이벤트까지의 사이에, 원의 (논리적인) 발생순서로 보고되게 되어 있습니다. 다만, DTDHandler 이벤트나 DeclHandler 이벤트에 대한 정확한 상대 위치에 출현할 필요는 없습니다.
start/endDTD 이벤트는, ContentHandler 의 start/endDocument 이벤트내의 최초의 startElement
이벤트의 전에 출현합니다.
LexicalHandler
내의 startDTD
name
- 문서형명publicId
- 선언된 외부 DTD 부분집합의 공개 식별자.
선언되어 있지 않은 경우는 nullsystemId
- 선언된 외부 DTD 부분집합의 시스템 식별자.
선언되어 있지 않은 경우는 null.
문서의 베이스 URI 에 대해서는 해결되지 않는 것에
주의하는 것
SAXException
- 어플리케이션이 예외를 생성한다
일이 있는LexicalHandler.endDTD()
,
LexicalHandler.startEntity(java.lang.String)
public void endDTD() throws SAXException
LexicalHandler
의 기술:이 메소드는, DOCTYPE 선언의 마지막을 보고하는 메소드입니다. 문서에 DOCTYPE 선언이 포함되지 않은 경우는 불려 가지 않습니다.
LexicalHandler
내의 endDTD
SAXException
- 어플리케이션이 예외를 생성하는 일이 있는LexicalHandler.startDTD(java.lang.String, java.lang.String, java.lang.String)
public void startEntity(String name) throws SAXException
LexicalHandler
의 기술:파라메이타엔티티 (외부 DTD 부분집합을 포함한다)의 보고 기능은 옵션입니다. LexicalHandler 이벤트를 보고하는 SAX2 의 드라이버 속에는, 이 기능을 구현하지 않는 것도 있습니다. http://xml.org/sax/features/lexical-handler/parameter-entities
기능을 사용해, 파라메이타엔티티의 보고를 조회 또는 제어할 수가 있습니다.
일반적인 엔티티는, 정규명으로 보고됩니다. 파라메이타엔티티명의 전에는 「%」를 붙일 수 있고 있습니다. 외부 DTD 부분집합은 「[dtd]」라고 하는 의사 엔티티명을 가지고 있습니다.
SAX2 드라이버가 이러한 이벤트를 제공하고 있을 때는, 그 외의 모든 이벤트를 start/end 엔티티이벤트내에 올바르게 상자로 할 필요가 있습니다. DeclHandler
또는 DTDHandler
의 이벤트를 올바른 순서로 나란해질 수 있을 필요는 없습니다.
스킵 된 엔티티는, ContentHandler 인터페이스의 일부인 skippedEntity
이벤트를 개입시켜 보고됩니다.
SAX 가 채용하고 있는 스트리밍 이벤트 모델의 제약에 의해, 이하의 상황에서는 일부의 엔티티 경계를 보고할 수가 없습니다.
이것들은 통지 없게 확장됩니다. 원의 엔티티 경계의 위치는 나타나지 않습니다.
문자 참조의 경계 (실제로는 엔티티는 아니다)도 보고되지 않는 점에 주의해 주세요.
모든 start/endEntity 이벤트를 올바르게 상자로 할 필요가 있습니다.
LexicalHandler
내의 startEntity
name
- 엔티티의 이름. 파라메이타엔티티의 경우,
이 이름은 「%」로 시작된다.
외부 DTD 부분집합의 경우, 「[dtd]」로 시작된다
SAXException
- 어플리케이션이 예외를 생성하는 일이 있는LexicalHandler.endEntity(java.lang.String)
,
DeclHandler.internalEntityDecl(java.lang.String, java.lang.String)
,
DeclHandler.externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)
public void endEntity(String name) throws SAXException
LexicalHandler
의 기술:
LexicalHandler
내의 endEntity
name
- 종료하는 엔티티의 이름
SAXException
- 어플리케이션이 예외를 생성하는 일이 있는LexicalHandler.startEntity(java.lang.String)
public void comment(char[] ch, int start, int length) throws SAXException
LexicalHandler
의 기술:이 콜백은, 문서 요소의 내외에 존재하는 코멘트 (외부 DTD 부분집합내의 코멘트도 포함한다)에 대해서 사용됩니다. DTD 내의 코멘트는, start/endDTD 이벤트와 start/endEntity 이벤트 (사용되고 있는 경우)의 내부에 올바르게 상자로 할 필요가 있습니다.
LexicalHandler
내의 comment
ch
- 코멘트에 포함되는 문자를 포함하는 배열start
- 배열내의 개시 위치length
- 배열로부터 읽어내지는 문자수
SAXException
- 어플리케이션이 예외를 생성하는 일이 있다public void attributeDecl(String eName, String aName, String type, String mode, String value) throws SAXException
DeclHandler
의 기술:유효한 (최초의) 속성 선언만이 보고됩니다. 형태는, 「CDATA」, 「ID」, 「IDREF」, 「IDREFS」, 「NMTOKEN」, 「NMTOKENS」, 「ENTITY」, 「ENTITIES」, 단락 문자 「|」이라고, 삭제된 모든 공백 문자와 함께 괄호에 넣어진 토큰 그룹, 또는 삭제된 모든 공백 문자와 함께 괄호에 넣어진 토큰 그룹의 직전에 있는 공백 문자의, 직전의 「NOTATION」라고 하는 말의 어떤 것인가의 캐릭터 라인이 됩니다.
값은 어플리케이션에 보고되어 적정하게 정규화되어 엔티티 참조와 캐릭터 라인 참조를 확장한 값이 됩니다.
DeclHandler
내의 attributeDecl
eName
- 관련 요소명aName
- 속성의 이름type
- 속성형을 나타내는 캐릭터 라인mode
- 속성의 디폴트 모드
(#IMPLIED, #REQUIRED, 또는 #FIXED)(을)를 나타내는 캐릭터 라인.
어느 것에도 들어맞지 않는 경우는 nullvalue
- 속성의 디폴트 값를 나타내는 캐릭터 라인.
존재하지 않는 경우는 null
SAXException
- 어플리케이션이 예외를 생성하는 일이 있다public void elementDecl(String name, String model) throws SAXException
DeclHandler
의 기술:컨텐츠 모델은, 캐릭터 라인 「EMPTY」, 캐릭터 라인 「ANY」, 또는 괄호에 넣어진 그룹 (옵션으로 출현 인디케이터(indicator)를 동반한다)으로 구성됩니다. 이 모델은, 모든 파라메이타엔티티가 완전하게 해결되어 모든 공백 문자가 삭제되도록(듯이) 정규화됩니다. 또, 둘러싸는 괄호를 포함합니다. 그 외의 정규화 (중복 한 괄호의 삭제, 출현 인디케이터(indicator)의 간이화등)는 퍼서에 의해 수의 행해집니다.
DeclHandler
내의 elementDecl
name
- 요소형명model
- 컨텐츠 모델을 나타내는 정규 캐릭터 라인
SAXException
- 어플리케이션이 예외를 생성하는 일이 있다public void externalEntityDecl(String name, String publicId, String systemId) throws SAXException
DeclHandler
의 기술:유효한 (최초의) 엔티티 선언만이 보고됩니다.
시스템 식별자가 URL 의 경우, 퍼서는 이것을 어플리케이션에 건네주기 전에 완전하게 해결할 필요가 있습니다.
DeclHandler
내의 externalEntityDecl
name
- 엔티티의 이름. 파라메이타엔티티의 경우,
이름은 「%」로 시작되는publicId
- 엔티티의 공개 식별자.
지정되지 않았던 경우는 nullsystemId
- 엔티티의 시스템 식별자
SAXException
- 어플리케이션이 예외를 생성하는 일이 있는DeclHandler.internalEntityDecl(java.lang.String, java.lang.String)
,
DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
public void internalEntityDecl(String name, String value) throws SAXException
DeclHandler
의 기술:유효한 (최초의) 엔티티 선언만이 보고됩니다. 일반적으로의 엔티티와는 달라, 값에 포함되는 모든 파라메이타엔티티는 확장됩니다.
DeclHandler
내의 internalEntityDecl
name
- 엔티티의 이름. 파라메이타엔티티의 경우,
이름은 「%」로 시작되는value
- 엔티티의 치환 텍스트
SAXException
- 어플리케이션이 예외를 생성하는 일이 있는DeclHandler.externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)
,
DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
public InputSource getExternalSubset(String name, String baseURI) throws SAXException , IOException
EntityResolver2
내의 getExternalSubset
name
- 문서의 루트 요소의 식별. 이용 가능한 DOCTYPE 선언 또는 실제의 루트 요소로부터의
이름baseURI
- 문서의 기저 URI. 외부 서브 텍스트를 선택하는 추가 힌트로서 기능한다.
XMLReader 에는 InputSource 만이 지정되었기 때문에 null 가 아닌 한
항상 절대 URI 이다
SAXException
- SAX 예외. 다른 예외를 랩 하고 있을 가능성이 있다
IOException
- 새로운 InputStream 나 Reader, 또는 부정한 URL 의 작성 실패를 나타내고 있을 가능성이 있다public InputSource resolveEntity(String name, String publicId, String baseURI, String systemId) throws SAXException , IOException
DefaultHandler.resolveEntity()
는 이 메소드를 호출하기 위해서(때문에) 오버라이드(override) 되므로, 이 메소드는 null 명, 기저 URI, 및 벌써 절대화 되고 있는 systemId 로 호출할 수가 있습니다.
EntityResolver2
내의 resolveEntity
name
- 해결되는 외부 엔티티의 식별.
외부 부분집합의 「[dtd]」나 파라메이타엔티티를 나타내는 「%」로 개시되는 이름,
또는 그 이외의 일반 엔티티의 이름. SAX2 퍼서에 의해 불려 가는 경우는 null 가 아닌publicId
- 참조되는 외부 엔티티의 공개 식별자 (XML 스펙으로 요구되도록(듯이) 정규화되고 있다).
제공되지 않았던 경우는 nullbaseURI
- 상대적인 systemID 를 기준으로 한 URI 의 해석.
XMLReader 는 InputSource 로 지정된 가능성이 있으므로, null 가 아닌 한 항상 절대
URI. 이 URI 는, 관련하는 선언을 개시하는 「<」에 관련지을 수 있고 있는 XML 스펙에 의해 정의되는systemId
- 참조되는 외부 엔티티의 시스템 식별자.
상대 또는 절대 URI.
SAX2 퍼서에 의해 불려 가는 경우는 null 는 아니고, 선언된 엔티티와 외부 부분집합만이, 그러한 퍼서에 의해 해결된다
SAXException
- SAX 예외. 다른 예외를 랩 하고 있을 가능성이 있다
IOException
- 새로운 InputStream 나 Reader, 또는 부정한 URL 의 작성 실패를 나타내고 있을 가능성이 있다public InputSource resolveEntity(String publicId, String systemId) throws SAXException , IOException
EntityResolver2.resolveEntity()
를 호출합니다. 이 클래스를 사용하려면 , 그 메소드를 오버라이드(override) 하는 것만으로 괜찮습니다.
EntityResolver
내의 resolveEntity
DefaultHandler
내의 resolveEntity
publicId
- 공개 식별자. 사용할 수 없는 경우는 nullsystemId
- XML 문서에 포함되어 있는 시스템 식별자
SAXException
- SAX 예외.
다른 예외를 랩 하고 있을 가능성이 있다
IOException
- Java 고유의 입출력 예외.
일반적으로, InputSource 의 새로운 InputStream 또는 Reader
하지만 생성되면(자) 발생하는EntityResolver.resolveEntity(java.lang.String, java.lang.String)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.