|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 모든 클래스 | ||||||||||
개요: 상자 | 필드 | constructor | 메소드 | 상세: 필드 | constructor | 메소드 |
ContentHandler
인터페이스로 옮겨놓을 수 있고 있습니다.
일반적인 문서 이벤트의 통지를 받습니다.
이 모듈은 원시 코드, 문서 모두 공개 도메인에 놓여져 있습니다. 따라서, 내용에 관한프로텍션은 일절 제공되지 않습니다.
이것은 SAX1, SAX2 의 메인 이벤트 처리 인터페이스였지만, 이름 공간 기능과 스킵 된 엔티티의 보고 기능을 서포트하는 ContentHandler
로 옮겨놓을 수 있었습니다. 이 인터페이스는 SAX1 의 유산 어플리케이션의 서포트 전용으로서 SAX2 에 포함할 수 있고 있습니다.
이 인터페이스내의 이벤트의 순서는 문서 자체에 포함되는 정보의 순서를 밀러화한 것이어, 매우 중요합니다. 예를 들어, 어느 요소의 전컨텐츠 (캐릭터 데이터, 처리 인스트럭션, 서브 요소등)는 startElement 이벤트와 이것에 대응하는 endElement 이벤트의 사이에 차례로 늘어놓을 수 있습니다.
어플리케이션의 작성자는 인터페이스 전체를 구현할 필요가 없는 경우는 디폴트 기능을 구현하는 HandlerBase 로부터 클래스를 파생할 수가 있습니다. 파서의 작성자는 HandlerBase 를 인스턴스화해 디폴트 핸들러를 취득할 수 있습니다. 어플리케이션은 Parser 가 제공하는 Locator 인터페이스를 사용해, setDocumentLocator 메소드로부터 임의의 문서 이벤트의 위치를 밝혀낼 수가 있습니다.
Parser.setDocumentHandler(org.xml.sax.DocumentHandler)
,
Locator
,
HandlerBase
메소드의 개요 | |
void |
characters (char[] ch,
int start,
int length)
추천 되고 있지 않습니다. 캐릭터 데이터의 통지를 받습니다. |
void |
endDocument ()
추천 되고 있지 않습니다. 문서의 종료 통지를 받습니다. |
void |
endElement (String name)
추천 되고 있지 않습니다. 요소의 종료 통지를 받습니다. |
void |
ignorableWhitespace (char[] ch,
int start,
int length)
추천 되고 있지 않습니다. 요소 컨텐츠에 포함되는 무시할 수 있는 공백 캐릭터의 통지를 받습니다. |
void |
processingInstruction (String target,
String data)
추천 되고 있지 않습니다. 처리 인스트럭션의 통지를 받습니다. |
void |
setDocumentLocator (Locator locator)
추천 되고 있지 않습니다. SAX 문서 이벤트의 발생원을 특정하는 오브젝트를 받습니다. |
void |
startDocument ()
추천 되고 있지 않습니다. 문서의 개시 통지를 받습니다. |
void |
startElement (String name,
AttributeList atts)
추천 되고 있지 않습니다. 요소의 개시 통지를 받습니다. |
메소드의 상세 |
public void setDocumentLocator(Locator locator)
locator가 필요한 경우는 필수 조건이 아닙니다만, SAX 파서를 사용하는 것을 강하게 추천합니다. SAX 파서는 DocumentHandler 인터페이스내의 어느 메소드보다 먼저 이 메소드를 호출해, 어플리케이션에 locator를 제공합니다.
어플리케이션은 locator를 이용해, 파서가 에러를 보고하지 않는 경우에서도 문서 관련 이벤트의 종료 위치를 특정할 수가 있습니다. 통상, 어플리케이션은 이 정보를 사용해 고유의 에러 (캐릭터 컨텐츠가 어플리케이션의 기능 규칙에 따르지 않은 등)를 보고합니다. 일반적으로, locator로부터 돌려주어지는 정보는 불충분하고, 검색 엔진에서의 사용에 적절하고 있지 않습니다.
locator가 올바른 정보를 돌려주는 것은 이 인터페이스내에서 이벤트 호출을 하고 있는 동안 뿐입니다. 그 이외 때, 어플리케이션으로 locator의 정보를 이용해야 하는 것이 아닙니다.
locator
- SAX 문서 이벤트의 위치를 돌려주는 오브젝트Locator
public void startDocument() throws SAXException
SAX 파서는 이 메소드를 이 인터페이스내 또는 DTDHandler 내의 어느 메소드보다 먼저, 1 회만 호출합니다 (setDocumentLocator 를 제외한다).
SAXException
- SAX 예외. 다른 예외를 랩 하고 있을 가능성이 있다public void endDocument() throws SAXException
SAX 파서는 이 메소드를 구문 분석의 마지막에 1 회만 호출합니다. 회복 불능인 에러에 의해 구문 분석이 도중에 파기되는지 입력이 종료할 때까지 이 메소드는 불려 가지 않습니다.
SAXException
- SAX 예외. 다른 예외를 랩 하고 있을 가능성이 있다public void startElement(String name, AttributeList atts) throws SAXException
파서는 XML 문서내의 각 요소의 전으로 이 메소드를 호출합니다. 각 startElement() 이벤트에는 대응하는 endElement() 이벤트가 있습니다. 이것은 요소가 하늘인 경우도 바뀌지 않습니다. 대응하는 endElement() 이벤트의 전에, 요소의 컨텐츠 전부가 차례로 보고됩니다.
요소명에 이름 공간 수식자가 붙어 있어도, 일전에치수식자가 삭제될 것은 없습니다. 제공되는 속성 리스트에는 명시적인 값 (지정된 값 또는 디폴트 값)을 가지는 속성만이 포함됩니다. #IMPLIED 속성은 포함되지 않습니다.
name
- 요소형명atts
- 요소에 부가된 속성 (존재하는 경우)
SAXException
- SAX 예외. 다른 예외를 랩 하고 있을 가능성이 있는endElement(java.lang.String)
,
AttributeList
public void endElement(String name) throws SAXException
SAX 파서는 XML 문서내의 각 요소의 마지막에 이 메소드를 호출합니다. 각 endElement() 이벤트에는 대응하는 startElement() 이벤트가 있습니다. 이것은 요소가 하늘인 경우도 바뀌지 않습니다.
요소명에 이름 공간앞치수식자가 붙어 있어도, 일전에치수식자가 삭제될 것은 없습니다.
name
- 요소형명
SAXException
- SAX 예외. 다른 예외를 랩 하고 있을 가능성이 있다public void characters(char[] ch, int start, int length) throws SAXException
파서는 이 메소드를 호출해, 각 캐릭터 데이타체크를 보고합니다. SAX 파서는 연속하는 캐릭터 데이터를 단일의 체크로서 또는 몇개의 체크에 분할해 돌려줍니다. 다만, locator로부터 유익한 정보를 얻기 위해서(때문에)는 단일의 이벤트에 포함되는 캐릭터가 모두 같은 외부 엔티티의 것이 아니면 안됩니다.
어플리케이션은 지정된 범위외의 배열을 읽어낼 수 없습니다.
일부의 파서는 이 메소드는 아니고 ignorableWhitespace() 메소드를 사용해, 요소 컨텐츠에 포함되는 공백 캐릭터를 보고합니다. 이것은 타당성을 검사하는 파서에 필수의 기능입니다.
ch
- XML 문서의 캐릭터start
- 배열내의 개시 위치length
- 배열로부터 읽어내지는 캐릭터수
SAXException
- SAX 예외. 다른 예외를 랩 하고 있을 가능성이 있는ignorableWhitespace(char[], int, int)
,
Locator
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
타당성을 검사하는 파서는 이 메소드를 사용해, 무시할 수 있는 공백 캐릭터의 체크를 보고할 필요가 있습니다 (W3C XML 1.0 권고 섹션 2.10 을 참조). 타당성을 검사하지 않는 파서도, 컨텐츠 모델의 구문 분석 및 이용이 가능한 경우는 이 메소드를 사용하는 경우가 있습니다.
SAX 파서는 연속하는 모든 공백 캐릭터를 단일의 체크로서 또는 복수의 체크에 분할해 돌려줍니다. 다만, locator로부터 유익한 정보를 얻기 위해서(때문에)는 단일의 이벤트에 포함되는 캐릭터가 모두 같은 외부 엔티티의 것이 아니면 안됩니다.
어플리케이션은 지정된 범위외의 배열을 읽어낼 수 없습니다.
ch
- XML 문서의 캐릭터start
- 배열내의 개시 위치length
- 배열로부터 읽어내지는 캐릭터수
SAXException
- SAX 예외. 다른 예외를 랩 하고 있을 가능성이 있는characters(char[], int, int)
public void processingInstruction(String target, String data) throws SAXException
파서는 처리 인스트럭션을 검출할 때마다 1 회씩 이 메소드를 호출합니다. 처리 인스트럭션은 메인의 문서 요소의 전후에 존재할 가능성이 있습니다.
SAX 파서가, 이 메소드를 사용해 XML 선언을 보고할 것은 없습니다 (XML 1.0, 섹션 2.8). 또, 텍스트 선언을 보고하는 일도 없습니다 (XML 1.0, 섹션 4.3. 1).
target
- 처리 인스트럭션의 타겟data
- 처리 인스트럭션 데이터. 데이터가 제공되지 않았던 경우는 null
SAXException
- SAX 예외. 다른 예외를 랩 하고 있을 가능성이 있다
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 모든 클래스 | ||||||||||
개요: 상자 | 필드 | constructor | 메소드 | 상세: 필드 | constructor | 메소드 |
Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.