JavaTM Platform
Standard Ed. 6

javax.xml.stream
인터페이스 XMLStreamWriter



public interface XMLStreamWriter

XMLStreamWriter 인터페이스는 XML 의 기입 방법을 지정합니다. XMLStreamWriter 는 입력에 대해서는 정형식을 확인하지 않습니다. 다만, 「&」, 「<」, 및 「>」를 이스케이프 하기 위해서, writeCharacters 메소드가 필요합니다. 속성치에 관해서는, writeAttribute 메소드가 이러한 문자에 가세해 「"」를 이스케이프 합니다. 이것에 의해, 모든 문자 컨텐츠와 속성치가 정형식이 됩니다. 각각의 NAMESPACE 와 ATTRIBUTE 는, 개별적으로 기입해질 필요가 있습니다.

XML 이름 공간,javax.xml.stream.isRepairingNamespaces, 및 기입 메소드의 동작
메소드 isRepairingNamespaces == true isRepairingNamespaces == false
namespaceURI 바인드 있어 namespaceURI 바인드 없음 namespaceURI 바인드 있어 namespaceURI 바인드 없음
writeAttribute(namespaceURI, localName, value) prefix:localName="value" [1] xmlns:{generated}="namespaceURI" {generated}:localName="value" prefix:localName="value" [1] XMLStreamException
writeAttribute(prefix, namespaceURI, localName, value) 같은 접두사에 바인드:
prefix:localName="value" [1]

다른 접두사에 바인드:
xmlns:{generated}="namespaceURI" {generated}:localName="value"
xmlns:prefix="namespaceURI" prefix:localName="value" [3] 같은 접두사에 바인드:
prefix:localName="value" [1][2]

다른 접두사에 바인드:
XMLStreamException[2]
xmlns:prefix="namespaceURI" prefix:localName="value" [2][5]
writeStartElement(namespaceURI, localName)

writeEmptyElement(namespaceURI, localName)
<prefix:localName> [1] <{generated}:localName xmlns:{generated}="namespaceURI"> <prefix:localName> [1] XMLStreamException
writeStartElement(prefix, localName, namespaceURI)

writeEmptyElement(prefix, localName, namespaceURI)
같은 접두사에 바인드:
<prefix:localName> [1]

다른 접두사에 바인드:
<{generated}:localName xmlns:{generated}="namespaceURI">
<prefix:localName xmlns:prefix="namespaceURI"> [4] 같은 접두사에 바인드:
<prefix:localName> [1]

다른 접두사에 바인드:
XMLStreamException
<prefix:localName> 
주:
  • [1] namespaceURI 가 디폴트의 이름 공간 URI 와 동일한 경우, 접두사는 기입해지지 않습니다
  • [2] prefix == "" || null && namespaceURI == "" 의 경우, 접두사 또는 이름 공간의 선언은 생성 또는 기입하시지 않습니다
  • [3] prefix == "" || null 의 경우, 접두사는 랜덤에 생성됩니다
  • [4] prefix == "" || null 의 경우, 디폴트의 이름 공간으로서 처리되어 접두사는 생성 또는 기입하시지 않습니다. 또, namespaceURI 가 바인드되어 있지 않은 경우는, xmlns 선언이 생성 또는 기입하십니다
  • [5] prefix == "" || null 의 경우, 디폴트의 이름 공간의 정의가 무효이다고 하여 처리되어 XMLStreamException 가 throw 됩니다

도입된 버젼:
1.6
관련 항목:
XMLOutputFactory , XMLStreamReader

메소드의 개요
 void close ()
          이 라이터를 덮어, 라이터에 관련지을 수 있었던 자원을 모두 해제합니다.
 void flush ()
          캐쉬에 포함된 모든 데이터를, 기본이 되는 출력 기구에 기입합니다.
 NamespaceContext getNamespaceContext ()
          현재의 이름 공간 문맥을 돌려줍니다.
 String getPrefix (String  uri)
          URI 의 바인드처의 접두사를 가져옵니다.
 Object getProperty (String  name)
          기본이 되는 구현으로부터 기능 또는 프로퍼티의 값을 가져옵니다.
 void setDefaultNamespace (String  uri)
          URI 를 디폴트의 이름 공간에 바인드 합니다.
 void setNamespaceContext (NamespaceContext  context)
          접두사와 URI 의 바인드에 대해서, 현재의 이름 공간 문맥을 설정합니다.
 void setPrefix (String  prefix, String  uri)
          URI 의 바인드처의 접두사를 설정합니다.
 void writeAttribute (String  localName, String  value)
          속성을 출력 스트림에 기입합니다.
 void writeAttribute (String  namespaceURI, String  localName, String  value)
          속성을 출력 스트림에 기입합니다.
 void writeAttribute (String  prefix, String  namespaceURI, String  localName, String  value)
          속성을 출력 스트림에 기입합니다.
 void writeCData (String  data)
          CData 섹션을 기입합니다.
 void writeCharacters (char[] text, int start, int len)
          출력에 텍스트를 기입합니다.
 void writeCharacters (String  text)
          출력에 텍스트를 기입합니다.
 void writeComment (String  data)
          comment out 된 데이터를 사용해 XML 코멘트를 기입합니다.
 void writeDefaultNamespace (String  namespaceURI)
          출력 스트림에 디폴트의 이름 공간을 기입합니다.
 void writeDTD (String  dtd)
          DTD 섹션을 기입합니다.
 void writeEmptyElement (String  localName)
          출력에 빈 상태(empty)의 요소 태그를 기입합니다.
 void writeEmptyElement (String  namespaceURI, String  localName)
          출력에 빈 상태(empty)의 요소 태그를 기입합니다.
 void writeEmptyElement (String  prefix, String  localName, String  namespaceURI)
          출력에 빈 상태(empty)의 요소 태그를 기입합니다.
 void writeEndDocument ()
          모든 개시 태그를 닫아, 대응하는 종료 태그를 기입합니다.
 void writeEndElement ()
          출력에 종료 태그를 기입합니다.
 void writeEntityRef (String  name)
          엔티티 참조를 기입합니다.
 void writeNamespace (String  prefix, String  namespaceURI)
          출력 스트림에 이름 공간을 기입합니다.
 void writeProcessingInstruction (String  target)
          처리 명령을 기입합니다.
 void writeProcessingInstruction (String  target, String  data)
          처리 명령을 기입합니다.
 void writeStartDocument ()
          XML 선언을 기입합니다.
 void writeStartDocument (String  version)
          XML 선언을 기입합니다.
 void writeStartDocument (String  encoding, String  version)
          XML 선언을 기입합니다.
 void writeStartElement (String  localName)
          출력에 개시 태그를 기입합니다.
 void writeStartElement (String  namespaceURI, String  localName)
          출력에 개시 태그를 기입합니다.
 void writeStartElement (String  prefix, String  localName, String  namespaceURI)
          출력에 개시 태그를 기입합니다.
 

메소드의 상세

writeStartElement

void writeStartElement(String  localName)
                       throws XMLStreamException 
출력에 개시 태그를 기입합니다. 모든 writeStartElement 메소드에 의해, 내부 이름 공간 문맥에 새로운 범위가 열립니다. 대응하는 EndElement 를 기입하면(자), 그러한 범위가 닫혀집니다.

파라미터:
localName - 태그의 로컬명 (null 이외)
예외:
XMLStreamException

writeStartElement

void writeStartElement(String  namespaceURI,
                       String  localName)
                       throws XMLStreamException 
출력에 개시 태그를 기입합니다.

파라미터:
namespaceURI - 사용하는 접두사의 namespaceURI (null 이외)
localName - 태그의 로컬명 (null 이외)
예외:
XMLStreamException - 이름 공간 URI 가 접두사에 바인드되어 있지 않아, javax.xml.stream.isRepairingNamespaces 가 true 로 설정되어 있지 않은 경우

writeStartElement

void writeStartElement(String  prefix,
                       String  localName,
                       String  namespaceURI)
                       throws XMLStreamException 
출력에 개시 태그를 기입합니다.

파라미터:
localName - 태그의 로컬명 (null 이외)
prefix - 태그의 접두사 (null 이외)
namespaceURI - 접두사의 바인드처 URI (null 이외)
예외:
XMLStreamException

writeEmptyElement

void writeEmptyElement(String  namespaceURI,
                       String  localName)
                       throws XMLStreamException 
출력에 빈 상태(empty)의 요소 태그를 기입합니다.

파라미터:
namespaceURI - 태그의 바인드처 URI (null 이외)
localName - 태그의 로컬명 (null 이외)
예외:
XMLStreamException - 이름 공간 URI 가 접두사에 바인드되어 있지 않아, javax.xml.stream.isRepairingNamespaces 가 true 로 설정되어 있지 않은 경우

writeEmptyElement

void writeEmptyElement(String  prefix,
                       String  localName,
                       String  namespaceURI)
                       throws XMLStreamException 
출력에 빈 상태(empty)의 요소 태그를 기입합니다.

파라미터:
prefix - 태그의 접두사 (null 이외)
localName - 태그의 로컬명 (null 이외)
namespaceURI - 태그의 바인드처 URI (null 이외)
예외:
XMLStreamException

writeEmptyElement

void writeEmptyElement(String  localName)
                       throws XMLStreamException 
출력에 빈 상태(empty)의 요소 태그를 기입합니다.

파라미터:
localName - 태그의 로컬명 (null 이외)
예외:
XMLStreamException

writeEndElement

void writeEndElement()
                     throws XMLStreamException 
출력에 종료 태그를 기입합니다. 이벤트의 접두사와 로컬명의 판별은 라이터의 내부 상태에 의존합니다.

예외:
XMLStreamException

writeEndDocument

void writeEndDocument()
                      throws XMLStreamException 
모든 개시 태그를 닫아, 대응하는 종료 태그를 기입합니다.

예외:
XMLStreamException

close

void close()
           throws XMLStreamException 
이 라이터를 덮어, 라이터에 관련지을 수 있었던 자원을 모두 해제합니다. 기본이 되는 출력 스트림이 닫을 것은 없습니다.

예외:
XMLStreamException

flush

void flush()
           throws XMLStreamException 
캐쉬에 포함된 모든 데이터를, 기본이 되는 출력 기구에 기입합니다.

예외:
XMLStreamException

writeAttribute

void writeAttribute(String  localName,
                    String  value)
                    throws XMLStreamException 
속성을 출력 스트림에 기입합니다. 접두사는 기입해지지 않습니다.

파라미터:
localName - 속성의 로컬명
value - 속성의 값
예외:
IllegalStateException - 현재 상태가 속성의 기입을 허가하지 않는 경우
XMLStreamException

writeAttribute

void writeAttribute(String  prefix,
                    String  namespaceURI,
                    String  localName,
                    String  value)
                    throws XMLStreamException 
속성을 출력 스트림에 기입합니다.

파라미터:
prefix - 이 속성의 접두사
namespaceURI - 이 속성의 접두사의 URI
localName - 속성의 로컬명
value - 속성의 값
예외:
IllegalStateException - 현재 상태가 속성의 기입을 허가하지 않는 경우
XMLStreamException - 이름 공간 URI 가 접두사에 바인드되어 있지 않아, javax.xml.stream.isRepairingNamespaces 가 true 로 설정되어 있지 않은 경우

writeAttribute

void writeAttribute(String  namespaceURI,
                    String  localName,
                    String  value)
                    throws XMLStreamException 
속성을 출력 스트림에 기입합니다.

파라미터:
namespaceURI - 이 속성의 접두사의 URI
localName - 속성의 로컬명
value - 속성의 값
예외:
IllegalStateException - 현재 상태가 속성의 기입을 허가하지 않는 경우
XMLStreamException - 이름 공간 URI 가 접두사에 바인드되어 있지 않아, javax.xml.stream.isRepairingNamespaces 가 true 로 설정되어 있지 않은 경우

writeNamespace

void writeNamespace(String  prefix,
                    String  namespaceURI)
                    throws XMLStreamException 
출력 스트림에 이름 공간을 기입합니다. 이 메소드의 접두사 인수가 빈 상태(empty)의 캐릭터 라인, 「xmlns」, 또는 null 의 경우, 이 메소드는 writeDefaultNamespace 에 위양 합니다.

파라미터:
prefix - 이 이름 공간의 바인드처의 접두사
namespaceURI - 접두사의 바인드처 URI
예외:
IllegalStateException - 현재 상태가 이름 공간의 기입을 허가하지 않는 경우
XMLStreamException

writeDefaultNamespace

void writeDefaultNamespace(String  namespaceURI)
                           throws XMLStreamException 
출력 스트림에 디폴트의 이름 공간을 기입합니다.

파라미터:
namespaceURI - 디폴트의 이름 공간의 바인드처 URI
예외:
IllegalStateException - 현재 상태가 이름 공간의 기입을 허가하지 않는 경우
XMLStreamException

writeComment

void writeComment(String  data)
                  throws XMLStreamException 
comment out 된 데이터를 사용해 XML 코멘트를 기입합니다.

파라미터:
data - 코멘트에 포함되는 데이터 (null 의 경우도 있다)
예외:
XMLStreamException

writeProcessingInstruction

void writeProcessingInstruction(String  target)
                                throws XMLStreamException 
처리 명령을 기입합니다.

파라미터:
target - 처리 명령의 타겟 (null 이외)
예외:
XMLStreamException

writeProcessingInstruction

void writeProcessingInstruction(String  target,
                                String  data)
                                throws XMLStreamException 
처리 명령을 기입합니다.

파라미터:
target - 처리 명령의 타겟 (null 이외)
data - 처리 명령에 포함되는 데이터 (null 이외)
예외:
XMLStreamException

writeCData

void writeCData(String  data)
                throws XMLStreamException 
CData 섹션을 기입합니다.

파라미터:
data - CData 섹션에 포함되는 데이터 (null 이외)
예외:
XMLStreamException

writeDTD

void writeDTD(String  dtd)
              throws XMLStreamException 
DTD 섹션을 기입합니다. 이 캐릭터 라인은, XML 1.0 스펙의 doctypedecl 생성 규칙 전체를 나타냅니다.

파라미터:
dtd - 기입해지는 DTD
예외:
XMLStreamException

writeEntityRef

void writeEntityRef(String  name)
                    throws XMLStreamException 
엔티티 참조를 기입합니다.

파라미터:
name - 엔티티의 이름
예외:
XMLStreamException

writeStartDocument

void writeStartDocument()
                        throws XMLStreamException 
XML 선언을 기입합니다. XML 버젼을 1.0 에, 인코딩을 utf-8 에 디폴트 설정합니다.

예외:
XMLStreamException

writeStartDocument

void writeStartDocument(String  version)
                        throws XMLStreamException 
XML 선언을 기입합니다. XML 버젼을 1.0 에 디폴트 설정합니다.

파라미터:
version - XML 문서의 버젼
예외:
XMLStreamException

writeStartDocument

void writeStartDocument(String  encoding,
                        String  version)
                        throws XMLStreamException 
XML 선언을 기입합니다. 인코딩 파라미터에서는, 기본이 되는 출력의 실제의 인코딩은 설정하지 않습니다. 실제의 인코딩은, XMLOutputFactory 를 사용해 XMLStreamWriter 의 인스턴스를 작성할 경우에 설정할 필요가 있습니다.

파라미터:
encoding - XML 선언의 인코딩
version - XML 문서의 버젼
예외:
XMLStreamException - 지정된 인코딩이 기본이 되는 스트림의 인코딩과 일치하지 않는 경우

writeCharacters

void writeCharacters(String  text)
                     throws XMLStreamException 
출력에 텍스트를 기입합니다.

파라미터:
text - 기입하는 값
예외:
XMLStreamException

writeCharacters

void writeCharacters(char[] text,
                     int start,
                     int len)
                     throws XMLStreamException 
출력에 텍스트를 기입합니다.

파라미터:
text - 기입하는 값
start - 배열내의 개시 위치
len - 기입하는 문자수
예외:
XMLStreamException

getPrefix

String  getPrefix(String  uri)
                 throws XMLStreamException 
URI 의 바인드처의 접두사를 가져옵니다.

반환값:
접두사 또는 null
예외:
XMLStreamException

setPrefix

void setPrefix(String  prefix,
               String  uri)
               throws XMLStreamException 
URI 의 바인드처의 접두사를 설정합니다. 이 접두사는, 현재의 START_ELEMENT 와 END_ELEMENT 의 페어의 범위에 바인드 됩니다. START_ELEMENT 가 기입해지기 전에 이 메소드가 불려 가면(자), 접두사는 루트의 범위에 바인드 됩니다.

파라미터:
prefix - URI 에 바인드 하는 접두사 (null 이외)
uri - 접두사에 바인드 하는 URI (null 의 경우도 있다)
예외:
XMLStreamException

setDefaultNamespace

void setDefaultNamespace(String  uri)
                         throws XMLStreamException 
URI 를 디폴트의 이름 공간에 바인드 합니다. 이 URI 는, 현재의 START_ELEMENT 와 END_ELEMENT 의 페어의 범위에 바인드 됩니다. START_ELEMENT 가 기입해지기 전에 이 메소드가 불려 가면(자), URI 는 루트의 범위에 바인드 됩니다.

파라미터:
uri - 디폴트의 이름 공간에 바인드 하는 URI (null 의 경우도 있다)
예외:
XMLStreamException

setNamespaceContext

void setNamespaceContext(NamespaceContext  context)
                         throws XMLStreamException 
접두사와 URI 의 바인드에 대해서, 현재의 이름 공간 문맥을 설정합니다. 이 문맥은 기입해에 사용하는 루트의 이름 공간 문맥이 됩니다. 또, 현재의 루트의 이름 공간 문맥을 옮겨놓습니다. 후속의 setPrefix 및 setDefaultNamespace 의 호출에서는, 이름 공간의 해결용으로 루트 문맥으로서 메소드에게 건네진 문맥을 사용해 이름 공간이 바인드 됩니다. 이 메소드는, 문서의 처음에 한 번만 호출할 수가 있습니다. 이 조작에 의해 이름 공간은 선언되지 않습니다. 이름 공간 URI 와 접두사의 매핑이 이름 공간 문맥에 발견되었을 경우, 이 매핑은 선언된 것으로서 처리되어 접두사를 StreamWriter 로 사용할 수가 있습니다.

파라미터:
context - 이 라이터로 사용하는 이름 공간 문맥 (null 이외)
예외:
XMLStreamException

getNamespaceContext

NamespaceContext  getNamespaceContext()
현재의 이름 공간 문맥을 돌려줍니다.

반환값:
현재의 NamespaceContext

getProperty

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

파라미터:
name - 프로퍼티의 이름 (null 이외)
반환값:
프로퍼티의 값
예외:
IllegalArgumentException - 프로퍼티이 지원되어 있지 않은 경우
NullPointerException - name 가 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 도 참조해 주세요.