JavaTM Platform
Standard Ed. 6

javax.xml.stream
인터페이스 XMLStreamReader

모든 슈퍼 인터페이스:
XMLStreamConstants
기존의 구현 클래스의 일람:
StreamReaderDelegate


public interface XMLStreamReader
extends XMLStreamConstants

XMLStreamReader 인터페이스를 사용하면(자), XML 의 순서 방향의 읽기 전용 액세스를 실시할 수가 있습니다. 이것은, XML 데이터의 최하정도 레벨에서의 가장 효율적인 읽어내 방법이 되도록(듯이) 설계되고 있습니다.  

XMLStreamReader 는 next()와 hasNext()를 사용해 XML 를 반복 처리 해 나가도록(듯이) 설계되고 있습니다. 데이터에는, getEventType(), getNamespaceURI(), getLocalName(), getText()등의 메소드를 사용해 액세스 가능합니다.  

next() 메소드를 사용하면(자), 리더는 다음의 해석 이벤트를 읽어냅니다. next() 메소드는, 읽어낸 이벤트의 형태를 식별하는 정수치를 돌려줍니다.  

이벤트형은,getEventType() 를 사용해 판별할 수 있습니다.  

이벤트의 해석은, XML 선언, DTD, 개시 태그, 문자 데이터, 공백 문자, 종료 태그, 코멘트, 또는 처리 명령으로서 정의됩니다. 속성 이벤트 또는 이름 공간 이벤트가, 쿼리처리의 결과로서 문서의 루트 레벨로 발견되는 경우도 있습니다.  

XML 1.0 준거의 XML 프로세서는, 선언 끝난 해석 대상외 엔티티의 식별자, 표기법선언, 및 그것들에 관련지을 수 있었던 식별자를 어플리케이션에 건네줍니다. 이러한 정보는, 이 인터페이스의 프로퍼티 API 를 통해서 제공됩니다. javax.xml.stream.notations 와 javax.xml.stream.entities 의 2 개의 프로퍼티에 의해, 이러한 정보에 액세스 할 수 있습니다. 현재의 이벤트가 DTD 이면,List l = (List) getProperty("javax.xml.stream.notations"); 의 호출에 의해 표기법의 리스트가 돌려주어집니다. List l = (List) getProperty("javax.xml.stream.entities"); 의 호출에 의해, 엔티티 선언의 리스트가 돌려주어집니다. 이러한 프로퍼티에는, DTD 이벤트의 사이만 액세스 할 수 있습니다. 또, 정보가 무효인 경우는 null 가 돌려주어지도록(듯이) 정의되고 있습니다.  

다음의 겉(표)에, 어느 메소드가 어떠한 상태로 유효한가에 임해서 가리킵니다. 무효인 상태로 불려 간 메소드는 java.lang.IllegalStateException 를 throw 합니다.

상태마다의 유효한 메소드
이벤트형 유효한 메소드
모든 상태 getProperty(), hasNext(), require(), close(), getNamespaceURI(), isStartElement(), isEndElement(), isCharacters(), isWhiteSpace(), getNamespaceContext(), getEventType(), getLocation(), hasText(), hasName()
START_ELEMENT next(), getName(), getLocalName(), hasName(), getPrefix(), getAttributeXXX(), isAttributeSpecified(), getNamespaceXXX(), getElementText(), nextTag()
ATTRIBUTE next(), nextTag() getAttributeXXX(), isAttributeSpecified()
NAMESPACE next(), nextTag(), getNamespaceXXX()
END_ELEMENT next(), getName(), getLocalName(), hasName(), getPrefix(), getNamespaceXXX(), nextTag()
CHARACTERS next(), getTextXXX(), nextTag()
CDATA next(), getTextXXX(), nextTag()
COMMENT next(), getTextXXX(), nextTag()
SPACE next(), getTextXXX(), nextTag()
START_DOCUMENT next(), getEncoding(), getVersion(), isStandalone(), standaloneSet(), getCharacterEncodingScheme(), nextTag()
END_DOCUMENT close()
PROCESSING_INSTRUCTION next(), getPITarget(), getPIData(), nextTag()
ENTITY_REFERENCE next(), getLocalName(), getText(), nextTag()
DTD next(), getText(), nextTag()

도입된 버젼:
1.6
관련 항목:
XMLEvent , XMLInputFactory , XMLStreamWriter

필드의 개요
 
인터페이스 javax.xml.stream. XMLStreamConstants 로부터 상속된 필드
ATTRIBUTE , CDATA , CHARACTERS , COMMENT , DTD , END_DOCUMENT , END_ELEMENT , ENTITY_DECLARATION , ENTITY_REFERENCE , NAMESPACE , NOTATION_DECLARATION , PROCESSING_INSTRUCTION , SPACE , START_DOCUMENT , START_ELEMENT
 
메소드의 개요
 void close ()
          이 리더가 관련지을 수 있었던 자원을 모두 해제합니다.
 int getAttributeCount ()
          이 START_ELEMENT 상의 속성의 수를 돌려줍니다.
 String getAttributeLocalName (int index)
          지정된 인덱스에 있는 속성의 localName 를 돌려줍니다.
 QName getAttributeName (int index)
          지정된 인덱스에 있는 속성의 qname 를 돌려줍니다.
 String getAttributeNamespace (int index)
          지정된 인덱스에 있는 속성의 이름 공간을 돌려줍니다.
 String getAttributePrefix (int index)
          지정된 인덱스에 있는 속성의 접두사를 돌려줍니다.
 String getAttributeType (int index)
          지정된 인덱스에 있는 속성의 XML 형을 돌려줍니다.
 String getAttributeValue (int index)
          인덱스에 있는 속성의 값을 돌려줍니다.
 String getAttributeValue (String  namespaceURI, String  localName)
          이름 공간과 localName 를 가지는 속성의 정규화된 속성치를 돌려줍니다.
 String getCharacterEncodingScheme ()
          XML 선언으로 선언된 문자 인코딩을 돌려줍니다.
 String getElementText ()
          텍스트만의 요소의 컨텐츠를 읽어냅니다.
 String getEncoding ()
          입력 인코딩이 기존의 경우는, 그 입력 인코딩을 돌려줍니다.
 int getEventType ()
          커서가 포인트 하고 있는 이벤트의 형태를 나타내는 정수형 코드를 돌려줍니다.
 String getLocalName ()
          현재의 이벤트의 로컬명을 돌려줍니다.
 Location getLocation ()
          프로세서의 현재의 위치를 돌려줍니다.
 QName getName ()
          현재의 START_ELEMENT 또는 END_ELEMENT 이벤트의 QName 를 돌려줍니다.
 NamespaceContext getNamespaceContext ()
          현재의 위치의 읽기 전용의 이름 공간 문맥을 돌려줍니다.
 int getNamespaceCount ()
          이 START_ELEMENT 또는 END_ELEMENT 로 선언된 이름 공간의 수를 돌려줍니다.
 String getNamespacePrefix (int index)
          지정된 인덱스로 선언된 이름 공간의 접두사를 돌려줍니다.
 String getNamespaceURI ()
          현재의 이벤트가 START_ELEMENT 또는 END_ELEMENT 인 경우, 이 메소드는 접두사의 URI 또는 디폴트의 이름 공간을 돌려줍니다.
 String getNamespaceURI (int index)
          지정된 인덱스로 선언된 이름 공간의 URI 를 돌려줍니다.
 String getNamespaceURI (String  prefix)
          지정된 접두사의 URI 를 돌려줍니다.
 String getPIData ()
          처리 명령의 데이터 섹션을 가져옵니다.
 String getPITarget ()
          처리 명령의 타겟을 가져옵니다.
 String getPrefix ()
          현재의 이벤트의 접두사를 돌려줍니다.
 Object getProperty (String  name)
          기본이 되는 구현으로부터 기능 또는 프로퍼티의 값을 가져옵니다.
 String getText ()
          구문 분석 이벤트의 현재의 값을 캐릭터 라인으로서 돌려줍니다.
 char[] getTextCharacters ()
          이 이벤트로부터의 문자를 포함한 배열을 돌려줍니다.
 int getTextCharacters (int sourceStart, char[] target, int targetStart, int length)
          CHARACTERS, SPACE, 또는 CDATA 이벤트에 관련지을 수 있었던 텍스트를 가져옵니다.
 int getTextLength ()
          이 텍스트 이벤트에 대한 텍스트 문자 배열내의 문자 순서의 길이를 돌려줍니다.
 int getTextStart ()
          이 텍스트 이벤트의 최초의 문자가 보존되고 있는 텍스트 문자 배열에의 오프셋(offset)를 돌려줍니다.
 String getVersion ()
          XML 선언으로 선언된 XML 버젼을 가져옵니다.
 boolean hasName ()
          현재의 이벤트가 이름 (START_ELEMENT 또는 END_ELEMENT)을 가지는 경우 true, 그렇지 않은 경우 false 를 돌려줍니다.
 boolean hasNext ()
          구문 분석 이벤트가 아직 있는 경우는 true, 그렇지 않은 경우는 false 를 돌려줍니다.
 boolean hasText ()
          현재의 이벤트에 텍스트가 포함되는 경우 true, 그렇지 않은 경우 false 를 돌려줍니다.
 boolean isAttributeSpecified (int index)
          이 속성이 디폴트로 작성되었는지의 여부를 나타내는 boolean 치를 돌려줍니다.
 boolean isCharacters ()
          커서가 문자 데이터 이벤트를 포인트 하고 있는 경우는 true 를 돌려줍니다.
 boolean isEndElement ()
          커서가 종료 태그를 포인트 하고 있는 경우는 true, 그렇지 않은 경우는 false 를 돌려줍니다.
 boolean isStandalone ()
          XML 선언으로부터 스탠드얼론 선언을 가져옵니다.
 boolean isStartElement ()
          커서가 개시 태그를 포인트 하고 있는 경우는 true, 그렇지 않은 경우는 false 를 돌려줍니다.
 boolean isWhiteSpace ()
          커서가 공백 문자만으로 구성되는 문자 데이터 이벤트를 포인트 하고 있는 경우는 true 를 돌려줍니다.
 int next ()
          다음의 구문 분석 이벤트를 가져옵니다.
 int nextTag ()
          START_ELEMENT 또는 END_ELEMENT 에 이를 때까지, 모든 공백 문자 (isWhiteSpace()가 true 를 돌려준다), COMMENT, 또는 PROCESSING_INSTRUCTION 를 스킵 합니다.
 void require (int type, String  namespaceURI, String  localName)
          현재의 이벤트가 지정의 형태인가 부디 이름 공간과 이름이 현재의 이벤트의 현재의 이름 공간과 이름에 일치할지 어떨지를 테스트합니다.
 boolean standaloneSet ()
          문서로 스탠드얼론이 설정되어 있었는지의 여부를 확인합니다.
 

메소드의 상세

getProperty

Object  getProperty(String  name)
                   throws IllegalArgumentException 
기본이 되는 구현으로부터 기능 또는 프로퍼티의 값을 가져옵니다.

파라미터:
name - 프로퍼티의 이름 (null 이외)
반환값:
프로퍼티의 값
예외:
IllegalArgumentException - name 가 null 의 경우

next

int next()
         throws XMLStreamException 
다음의 구문 분석 이벤트를 가져옵니다. 프로세서는, 연속하는 문자 데이터를 모두 단일의 체크로서 또는 몇개의 체크에 분할해 돌려줍니다. javax.xml.stream.isCoalescing 프로퍼티이 true 로 설정되어 있는 경우는, 요소 컨텐츠를 합체 해, 연속하는 요소 컨텐츠 또는 CDATA 섹션에 대해서, CHARACTERS 이벤트가 1 개만 돌려주어지도록 해 주세요. 디폴트에서는, 엔티티 참조는 전개되어 어플리케이션에 투과적으로 보고될 필요가 있습니다. 엔티티 참조를 전개할 수 없는 경우는, 예외가 throw 됩니다. 요소 컨텐츠가 빈 상태(empty) (즉 "")의 경우, CHARACTERS 이벤트는 보고되지 않습니다.  

다음의 XML 에 대해 생각합니다.
<foo><! --description-->content text<! [CDATA[<greeting>Hello</greeting>]]>other content</foo>
foo 에 대한 next() 호출의 동작은 이하대로입니다.
1- 코멘트 (COMMENT)
2- 문자 섹션 (CHARACTERS)
3- CDATA 섹션 ( 이제(벌써) 1 개의 CHARACTERS)
4- 다음의 문자 섹션 ( 이제(벌써) 1 개의 CHARACTERS)
5- END_ELEMENT
 

주: 공의 요소 (<tag/> 등)는 2 개의 별개의 이벤트인 START_ELEMENT 와 END_ELEMENT 로서 보고됩니다. 이것에 의해, 빈 상태(empty)의 요소의 해석이 <tag></tag> 와 동일하게 유지됩니다. hasNext()가 false 를 돌려주면(자), 이 메소드는 IllegalStateException 를 throw 합니다.

반환값:
현재의 구문 분석 이벤트에 대응하는 정수형 코드
예외:
NoSuchElementException - hasNext()가 false 를 돌려주었을 때에 불려 갔을 경우
XMLStreamException - 기본이 되는 XML 소스의 처리에 에러가 발생했을 경우
관련 항목:
XMLEvent

require

void require(int type,
             String  namespaceURI,
             String  localName)
             throws XMLStreamException 
현재의 이벤트가 지정의 형태인가 부디 이름 공간과 이름이 현재의 이벤트의 현재의 이름 공간과 이름에 일치할지 어떨지를 테스트합니다. namespaceURI 가 null 의 경우, 이름 공간이 일치할지 어떨지는 확인되지 않습니다. 또, localName 가 null 의 경우, 이름이 일치할지 어떨지는 확인되지 않습니다.

파라미터:
type - 이벤트의 형태
namespaceURI - 이벤트의 URI (null 의 경우도 있다)
localName - 이벤트의 localName (null 의 경우도 있다)
예외:
XMLStreamException - 요구된 값이 일치하지 않았던 경우

getElementText

String  getElementText()
                      throws XMLStreamException 
텍스트만의 요소의 컨텐츠를 읽어냅니다. 텍스트만의 요소가 아닌 경우는, 예외가 throw 됩니다. javax.xml.stream.isCoalescing 의 값에 관계없이, 이 메소드는 항상 합체 한 컨텐츠를 돌려줍니다.
전제 조건은, 현재의 이벤트가 START_ELEMENT 인 것입니다.
사후 조건은, 현재의 이벤트가 대응하는 END_ELEMENT 인 것입니다.
메소드는 다음의 처리를 실행합니다 (구현에서는 최적화할 수도 있습니다만, 동등의 처리를 실행할 필요가 있습니다).
 if(getEventType() ! = XMLStreamConstants.START_ELEMENT) {
 throw new XMLStreamException(
 "parser must be on START_ELEMENT to read next text", getLocation());
 }
 int eventType = next();
 StringBuffer content = new StringBuffer();
 while(eventType ! = XMLStreamConstants.END_ELEMENT ) {
 if(eventType == XMLStreamConstants.CHARACTERS
 || eventType == XMLStreamConstants.CDATA
 || eventType == XMLStreamConstants.SPACE
 || eventType == XMLStreamConstants.ENTITY_REFERENCE) {
 buf.append(getText());
 } else if(eventType == XMLStreamConstants.PROCESSING_INSTRUCTION
 || eventType == XMLStreamConstants.COMMENT) {
 // skipping
 } else if(eventType == XMLStreamConstants.END_DOCUMENT) {
 throw new XMLStreamException(
 "unexpected end of document when reading element text content", this);
 } else if(eventType == XMLStreamConstants.START_ELEMENT) {
 throw new XMLStreamException(
 "element text content may not contain START_ELEMENT", getLocation());
 } else {
 throw new XMLStreamException(
 "Unexpected event type "+eventType, getLocation());
 }
 eventType = next();
 }
 return buf.toString();
 

반환값:
텍스트만의 요소의 컨텐츠
예외:
XMLStreamException - 현재의 이벤트가 START_ELEMENT 가 아닌 경우, 또는 텍스트 이외의 요소가 발견되었을 경우

nextTag

int nextTag()
            throws XMLStreamException 
START_ELEMENT 또는 END_ELEMENT 에 이를 때까지, 모든 공백 문자 (isWhiteSpace()가 true 를 돌려준다), COMMENT, 또는 PROCESSING_INSTRUCTION 를 스킵 합니다. 공백 문자, COMMENT, PROCESSING_INSTRUCTION, START_ELEMENT, END_ELEMENT 이외가 발견되면(자), 예외가 throw 됩니다. 공백 문자로 단락지어진 요소만의 컨텐츠를 처리할 경우에는, 이 메소드를 사용하도록(듯이) 합니다.
전제 조건은 없습니다.
사후 조건은, 현재의 이벤트가 START_ELEMENT 또는 END_ELEMENT 이며, 커서가 몇개의 공백 문자 이벤트 위를 움직였을 경우입니다.
기본적으로, 다음의 처리를 실행합니다 (구현에서는 최적화할 수도 있습니다만, 동등의 처리를 실행할 필요가 있습니다).
 int eventType = next();
 while((eventType == XMLStreamConstants.CHARACTERS && isWhiteSpace()) // skip whitespace
 || (eventType == XMLStreamConstants.CDATA && isWhiteSpace()) 
 // skip whitespace
 || eventType == XMLStreamConstants.SPACE
 || eventType == XMLStreamConstants.PROCESSING_INSTRUCTION
 || eventType == XMLStreamConstants.COMMENT
 ) {
 eventType = next();
 }
 if (eventType ! = XMLStreamConstants.START_ELEMENT && eventType ! = XMLStreamConstants.END_ELEMENT) {
 throw new String XMLStreamException("expected start or end tag", getLocation());
 }
 return eventType;
 

반환값:
읽어낸 요소의 이벤트형 (START_ELEMENT 또는 END_ELEMENT)
예외:
XMLStreamException - 현재의 이벤트가 공백 문자, PROCESSING_INSTRUCTION, START_ELEMENT, 또는 END_ELEMENT 가 아닌 경우
NoSuchElementException - hasNext()가 false 를 돌려주었을 때에 불려 갔을 경우

hasNext

boolean hasNext()
                throws XMLStreamException 
구문 분석 이벤트가 아직 있는 경우는 true, 그렇지 않은 경우는 false 를 돌려줍니다. 이 메소드는, XMLStreamReader 의 현재 상태가 END_DOCUMENT 의 경우는 false 를 돌려줍니다.

반환값:
이벤트가 아직 있는 경우는 true, 그렇지 않은 경우는 false
예외:
XMLStreamException - 다음 상태의 검출시에 치명적인 에러가 발생했을 경우

close

void close()
           throws XMLStreamException 
이 리더가 관련지을 수 있었던 자원을 모두 해제합니다. 이 메소드는 기본이 되는 입력 소스를 닫지 않습니다.

예외:
XMLStreamException - 관련지을 수 있었던 자원의 해제으로 에러가 발생했을 경우

getNamespaceURI

String  getNamespaceURI(String  prefix)
지정된 접두사의 URI 를 돌려줍니다. 반환되는 URI 는 프로세서의 현재 상태에 따라서 다릅니다.  

주: 접두사 「xml」는,Namespaces in XML 권고로 정의되고 있도록(듯이) 「http://www.w3.org/XML/1998/namespace」에 바인드 됩니다.

 

주: 접두사 「xmlns」는 이름 공간 http://www.w3.org/2000/xmlns/ 에 해결될 필요가 있습니다.

파라미터:
prefix - 검색하는 접두사 (null 이외)
반환값:
지정된 접두사에 바인드 된 URI. 바인드되어 있지 않은 경우는 null
예외:
IllegalArgumentException - 접두사가 null 의 경우

isStartElement

boolean isStartElement()
커서가 개시 태그를 포인트 하고 있는 경우는 true, 그렇지 않은 경우는 false 를 돌려줍니다.

반환값:
커서가 개시 태그를 포인트 하고 있는 경우는 true, 그렇지 않은 경우는 false

isEndElement

boolean isEndElement()
커서가 종료 태그를 포인트 하고 있는 경우는 true, 그렇지 않은 경우는 false 를 돌려줍니다.

반환값:
커서가 종료 태그를 포인트 하고 있는 경우는 true, 그렇지 않은 경우는 false

isCharacters

boolean isCharacters()
커서가 문자 데이터 이벤트를 포인트 하고 있는 경우는 true 를 돌려줍니다.

반환값:
커서가 문자 데이터를 포인트 하고 있는 경우는 true, 그렇지 않은 경우는 false

isWhiteSpace

boolean isWhiteSpace()
커서가 공백 문자만으로 구성되는 문자 데이터 이벤트를 포인트 하고 있는 경우는 true 를 돌려줍니다.

반환값:
커서가 모든 공백 문자를 포인트 하고 있는 경우는 true, 그렇지 않은 경우는 false

getAttributeValue

String  getAttributeValue(String  namespaceURI,
                         String  localName)
이름 공간과 localName 를 가지는 속성의 정규화된 속성치를 돌려줍니다. namespaceURI 가 null 의 경우, 이름 공간이 일치할지 어떨지는 확인되지 않습니다.

파라미터:
namespaceURI - 속성의 이름 공간
localName - 속성의 로컬명 (null 이외)
반환값:
속성의 값. 발견되지 않는 경우는 null
예외:
IllegalStateException - START_ELEMENT 또는 ATTRIBUTE 가 아닌 경우

getAttributeCount

int getAttributeCount()
이 START_ELEMENT 상의 속성의 수를 돌려줍니다. 이 메소드는 START_ELEMENT 또는 ATTRIBUTE 만으로 유효합니다. 이 수에는, 이름 공간의 정의는 포함되지 않습니다. 속성 인덱스는 제로로부터 시작됩니다.

반환값:
속성의 수
예외:
IllegalStateException - START_ELEMENT 또는 ATTRIBUTE 가 아닌 경우

getAttributeName

QName  getAttributeName(int index)
지정된 인덱스에 있는 속성의 qname 를 돌려줍니다.

파라미터:
index - 속성의 위치
반환값:
속성의 QName
예외:
IllegalStateException - START_ELEMENT 또는 ATTRIBUTE 가 아닌 경우

getAttributeNamespace

String  getAttributeNamespace(int index)
지정된 인덱스에 있는 속성의 이름 공간을 돌려줍니다.

파라미터:
index - 속성의 위치
반환값:
이름 공간 URI (null 의 경우도 있다)
예외:
IllegalStateException - START_ELEMENT 또는 ATTRIBUTE 가 아닌 경우

getAttributeLocalName

String  getAttributeLocalName(int index)
지정된 인덱스에 있는 속성의 localName 를 돌려줍니다.

파라미터:
index - 속성의 위치
반환값:
속성의 localName
예외:
IllegalStateException - START_ELEMENT 또는 ATTRIBUTE 가 아닌 경우

getAttributePrefix

String  getAttributePrefix(int index)
지정된 인덱스에 있는 속성의 접두사를 돌려줍니다.

파라미터:
index - 속성의 위치
반환값:
속성의 접두사
예외:
IllegalStateException - START_ELEMENT 또는 ATTRIBUTE 가 아닌 경우

getAttributeType

String  getAttributeType(int index)
지정된 인덱스에 있는 속성의 XML 형을 돌려줍니다.

파라미터:
index - 속성의 위치
반환값:
속성의 XML 형
예외:
IllegalStateException - START_ELEMENT 또는 ATTRIBUTE 가 아닌 경우

getAttributeValue

String  getAttributeValue(int index)
인덱스에 있는 속성의 값을 돌려줍니다.

파라미터:
index - 속성의 위치
반환값:
속성치
예외:
IllegalStateException - START_ELEMENT 또는 ATTRIBUTE 가 아닌 경우

isAttributeSpecified

boolean isAttributeSpecified(int index)
이 속성이 디폴트로 작성되었는지의 여부를 나타내는 boolean 치를 돌려줍니다.

파라미터:
index - 속성의 위치
반환값:
디폴트의 속성인 경우는 true
예외:
IllegalStateException - START_ELEMENT 또는 ATTRIBUTE 가 아닌 경우

getNamespaceCount

int getNamespaceCount()
이 START_ELEMENT 또는 END_ELEMENT 로 선언된 이름 공간의 수를 돌려줍니다. 이 메소드는 START_ELEMENT, END_ELEMENT, 또는 NAMESPACE 만으로 유효합니다. END_ELEMENT 에서는, 범위외가 되려 하고 있는 이름 공간의 수가 됩니다. 이것은, 요소 종료 이벤트의 SAX 콜백에 의해 보고되는 정보와 동등합니다.

반환값:
이 요소상의 이름 공간 선언의 수
예외:
IllegalStateException - START_ELEMENT, END_ELEMENT, 또는 NAMESPACE 가 아닌 경우

getNamespacePrefix

String  getNamespacePrefix(int index)
지정된 인덱스로 선언된 이름 공간의 접두사를 돌려줍니다. 디폴트의 이름 공간 선언의 경우는 null 를 돌려줍니다.

파라미터:
index - 이름 공간 선언의 위치
반환값:
이름 공간의 접두사
예외:
IllegalStateException - START_ELEMENT, END_ELEMENT, 또는 NAMESPACE 가 아닌 경우

getNamespaceURI

String  getNamespaceURI(int index)
지정된 인덱스로 선언된 이름 공간의 URI 를 돌려줍니다.

파라미터:
index - 이름 공간 선언의 위치
반환값:
이름 공간 URI
예외:
IllegalStateException - START_ELEMENT, END_ELEMENT, 또는 NAMESPACE 가 아닌 경우

getNamespaceContext

NamespaceContext  getNamespaceContext()
현재의 위치의 읽기 전용의 이름 공간 문맥을 돌려줍니다. 문맥은 일시적인 것으로, next()의 호출에 의해 리더 상태가 변경될 때까지 유효합니다.

반환값:
이름 공간 문맥

getEventType

int getEventType()
커서가 포인트 하고 있는 이벤트의 형태를 나타내는 정수형 코드를 돌려줍니다.


getText

String  getText()
구문 분석 이벤트의 현재의 값을 캐릭터 라인으로서 돌려줍니다. CHARACTERS 이벤트의 캐릭터 라인치, COMMENT 의 값, ENTITY_REFERENCE 의 치환치, CDATA 섹션의 캐릭터 라인치, SPACE 이벤트의 캐릭터 라인치, DTD 의 내부 부분집합의 캐릭터 라인치를 돌려줍니다. ENTITY_REFERENCE 가 해결되고 있는 경우, 모든 문자 데이터가 CHARACTERS 이벤트로서 보고됩니다.

반환값:
현재의 텍스트 또는 null
예외:
IllegalStateException - 이 상태가 유효한 텍스트 상태가 아닌 경우

getTextCharacters

char[] getTextCharacters()
이 이벤트로부터의 문자를 포함한 배열을 돌려줍니다. 이 배열을 읽어내 전용으로 일시적인 것으로 해 처리하도록(듯이) 합니다. 즉, 이 배열에 텍스트 문자가 포함되는 것은, XMLStreamReader 가 다음의 이벤트로 이동할 때까지 입니다. 그 이상의 기간 텍스트를 문자 배열 로 유지하거나 배열의 내용을 변경하거나 하면(자), 이 인터페이스의 규약 위반이 됩니다.

반환값:
현재의 텍스트 또는 빈 상태(empty)의 배열
예외:
IllegalStateException - 이 상태가 유효한 텍스트 상태가 아닌 경우

getTextCharacters

int getTextCharacters(int sourceStart,
                      char[] target,
                      int targetStart,
                      int length)
                      throws XMLStreamException 
CHARACTERS, SPACE, 또는 CDATA 이벤트에 관련지을 수 있었던 텍스트를 가져옵니다. sourceStart 로 시작되는 텍스트가, target 의 targetStart 로 시작되는 위치에 카피됩니다. 최대로 length 의 수의 문자가 카피됩니다. 실제로 카피된 문자수가 돌려주어집니다. sourceStart 인수는 0 이상으로, 이벤트에 관련지을 수 있었던 문자수이하인 것이 필요합니다. 일반적으로, sourceStart 가 0 의 위치에서 시작되는 텍스트가 요구됩니다. 실제로 카피된 문자수가 length 보다 적었던 경우, 그 이상의 텍스트는 존재하지 않습니다. 그렇지 않은 경우, 모든 텍스트가 취득될 때까지 후속의 호출이 필요하게 됩니다. 다음에 예를 나타냅니다. int length = 1024; char[] myBuffer = new char[ length ]; for ( int sourceStart = 0 ; ; sourceStart += length ) { int nCopied = stream.getTextCharacters( sourceStart, myBuffer, 0, length ); if (nCopied < length) break; }기본이 되는 소스로 어떠한 XML 에러가 발생하면(자), XMLStreamException 가 throw 됩니다. targetStart 인수는 0 이상으로, target 의 길이보다 작을 필요가 있어, length 는 0 보다 크고, targetStart 와 length 의 합계는 target 의 길이 이하인 것이 필요합니다.

파라미터:
sourceStart - 카피 대상 소스 배열내의 최초의 문자의 인덱스
target - 전송처 배열
targetStart - 타겟의 배열내에서의 개시 오프셋(offset)
length - 카피하는 문자수
반환값:
실제로 카피한 문자수
예외:
XMLStreamException - 기본이 되는 XML 소스가 정형식이 아닌 경우
IndexOutOfBoundsException - targetStart 가 0 보다 작은지, 타겟의 길이보다 큰 경우
IndexOutOfBoundsException - length 가 0 보다 작은지, targetStart 와 length 의 합계가 타겟의 길이보다 큰 경우
UnsupportedOperationException - 이 메소드가 지원되어 있지 않은 경우
NullPointerException - target 가 null 의 경우

getTextStart

int getTextStart()
이 텍스트 이벤트의 최초의 문자가 보존되고 있는 텍스트 문자 배열에의 오프셋(offset)를 돌려줍니다.

예외:
IllegalStateException - 이 상태가 유효한 텍스트 상태가 아닌 경우

getTextLength

int getTextLength()
이 텍스트 이벤트에 대한 텍스트 문자 배열내의 문자 순서의 길이를 돌려줍니다.

예외:
IllegalStateException - 이 상태가 유효한 텍스트 상태가 아닌 경우

getEncoding

String  getEncoding()
입력 인코딩이 기존의 경우는, 그 입력 인코딩을 돌려줍니다. 미지의 경우는 null 를 돌려줍니다.

반환값:
이 인스턴스의 인코딩 또는 null

hasText

boolean hasText()
현재의 이벤트에 텍스트가 포함되는 경우 true, 그렇지 않은 경우 false 를 돌려줍니다. CHARACTERS, DTD, ENTITY_REFERENCE, COMMENT, SPACE 의 각 이벤트에는 텍스트가 포함됩니다.


getLocation

Location  getLocation()
프로세서의 현재의 위치를 돌려줍니다. Location 를 모르는 경우, 프로세서는 Location 의 구현을 돌려줍니다. 이것은, 위치에 도착해 -1 를 돌려주어, publicId 와 systemId 에 대해 null 를 돌려줍니다. 위치 정보는, next()가 불려 갈 때까지 유효합니다.


getName

QName  getName()
현재의 START_ELEMENT 또는 END_ELEMENT 이벤트의 QName 를 돌려줍니다.

반환값:
현재의 START_ELEMENT 또는 END_ELEMENT 이벤트의 QName
예외:
IllegalStateException - START_ELEMENT 또는 END_ELEMENT 가 아닌 경우

getLocalName

String  getLocalName()
현재의 이벤트의 로컬명을 돌려줍니다. START_ELEMENT 또는 END_ELEMENT 에 대해서는, 현재의 요소의 로컬명을 돌려줍니다. ENTITY_REFERENCE 에 대해서는, 엔티티명을 돌려줍니다. 현재의 이벤트는, START_ELEMENT, END_ELEMENT, ENTITY_REFERENCE 의 언젠가가 아니면 안됩니다.

반환값:
localName
예외:
IllegalStateException - START_ELEMENT, END_ELEMENT, 또는 ENTITY_REFERENCE 가 아닌 경우

hasName

boolean hasName()
현재의 이벤트가 이름 (START_ELEMENT 또는 END_ELEMENT)을 가지는 경우 true, 그렇지 않은 경우 false 를 돌려줍니다.


getNamespaceURI

String  getNamespaceURI()
현재의 이벤트가 START_ELEMENT 또는 END_ELEMENT 인 경우, 이 메소드는 접두사의 URI 또는 디폴트의 이름 공간을 돌려줍니다. 이벤트가 접두사를 가지지 않는 경우, null 를 돌려줍니다.

반환값:
이 요소의 접두사에 바인드 된 URI, 디폴트의 이름 공간, 또는 null

getPrefix

String  getPrefix()
현재의 이벤트의 접두사를 돌려줍니다. 이벤트가 접두사를 가지지 않는 경우는 null 를 돌려줍니다.

반환값:
접두사 또는 null

getVersion

String  getVersion()
XML 선언으로 선언된 XML 버젼을 가져옵니다. 선언되어 있지 않은 경우는 null 를 돌려줍니다.

반환값:
XML 버젼 또는 null

isStandalone

boolean isStandalone()
XML 선언으로부터 스탠드얼론 선언을 가져옵니다.

반환값:
스탠드얼론인 경우는 true, 그렇지 않은 경우는 false

standaloneSet

boolean standaloneSet()
문서로 스탠드얼론이 설정되어 있었는지의 여부를 확인합니다.

반환값:
문서로 스탠드얼론이 설정되어 있었을 경우는 true, 그렇지 않은 경우는 false

getCharacterEncodingScheme

String  getCharacterEncodingScheme()
XML 선언으로 선언된 문자 인코딩을 돌려줍니다. 선언되어 있지 않은 경우는 null 를 돌려줍니다.

반환값:
문서로 선언된 인코딩 또는 null

getPITarget

String  getPITarget()
처리 명령의 타겟을 가져옵니다.

반환값:
타겟 또는 null

getPIData

String  getPIData()
처리 명령의 데이터 섹션을 가져옵니다.

반환값:
데이터 또는 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 도 참조해 주세요.