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 がスローされます

導入されたバージョン:
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)
          コメントアウトされたデータを使用して XML コメントを書き込みます。
 void writeDefaultNamespace(String namespaceURI)
          出力ストリームにデフォルトの名前空間を書き込みます。
 void writeDTD(String dtd)
          DTD セクションを書き込みます。
 void writeEmptyElement(String localName)
          出力に空の要素タグを書き込みます。
 void writeEmptyElement(String namespaceURI, String localName)
          出力に空の要素タグを書き込みます。
 void writeEmptyElement(String prefix, String localName, String namespaceURI)
          出力に空の要素タグを書き込みます。
 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
出力に空の要素タグを書き込みます。

パラメータ:
namespaceURI - タグのバインド先 URI (null 以外)
localName - タグのローカル名 (null 以外)
例外:
XMLStreamException - 名前空間 URI が接頭辞にバインドされていなくて、javax.xml.stream.isRepairingNamespaces が true に設定されていない場合

writeEmptyElement

void writeEmptyElement(String prefix,
                       String localName,
                       String namespaceURI)
                       throws XMLStreamException
出力に空の要素タグを書き込みます。

パラメータ:
prefix - タグの接頭辞 (null 以外)
localName - タグのローカル名 (null 以外)
namespaceURI - タグのバインド先 URI (null 以外)
例外:
XMLStreamException

writeEmptyElement

void writeEmptyElement(String localName)
                       throws XMLStreamException
出力に空の要素タグを書き込みます。

パラメータ:
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
出力ストリームに名前空間を書き込みます。このメソッドの接頭辞引数が空の文字列、「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
コメントアウトされたデータを使用して 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 - 名前が null の場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。