JavaTM Platform
Standard Ed. 6

javax.xml.stream
インタフェース XMLEventWriter

すべてのスーパーインタフェース:
XMLEventConsumer

public interface XMLEventWriter
extends XMLEventConsumer

XML 文書を書き込むための最上位のインタフェースです。 このインタフェースのインスタンスが、XML の形式を検証する必要はありません。

導入されたバージョン:
1.6
関連項目:
XMLEventReader, XMLEvent, Characters, ProcessingInstruction, StartElement, EndElement

メソッドの概要
 void add(XMLEvent event)
          出力ストリームにイベントを追加します。
 void add(XMLEventReader reader)
          ストリーム全体を出力ストリームに追加し、hasNext() が false を返すまで inputStream 引数で next() を呼び出します。
 void close()
          このストリームに関連付けられたリソースをすべて解放します。
 void flush()
          キャッシュに格納されたすべてのイベントを、基本となる出力機構に書き込みます。
 NamespaceContext getNamespaceContext()
          現在の名前空間コンテキストを返します。
 String getPrefix(String uri)
          URI のバインド先の接頭辞を取得します。
 void setDefaultNamespace(String uri)
          URI をデフォルトの名前空間にバインドします。
 void setNamespaceContext(NamespaceContext context)
          接頭辞と URI のバインドに対して、現在の名前空間コンテキストを設定します。
 void setPrefix(String prefix, String uri)
          URI のバインド先の接頭辞を設定します。
 

メソッドの詳細

flush

void flush()
           throws XMLStreamException
キャッシュに格納されたすべてのイベントを、基本となる出力機構に書き込みます。

例外:
XMLStreamException

close

void close()
           throws XMLStreamException
このストリームに関連付けられたリソースをすべて解放します。

例外:
XMLStreamException

add

void add(XMLEvent event)
         throws XMLStreamException
出力ストリームにイベントを追加します。START_ELEMENT を追加すると、新しい名前空間のスコープが開きます。これは、対応する END_ELEMENT が書き込まれると閉じます。
ライターに追加されるイベントの必須フィールドとオプションフィールド
イベント型 必須フィールド オプションフィールド 必須の動作
START_ELEMENT QName name 名前空間、属性 START_ELEMENT の書き込みでは、イベントの名前、名前空間、および属性が XML 1.0 の有効な START_ELEMENT の構文で書き込まれます。名前は、名前空間 URI の接頭辞を検索して書き込まれます。ライターは、QName の接頭辞に関係付けるように設定できます。ライターを接頭辞に関係付ける場合は、QName で接頭辞セットを使用する必要があります。デフォルトの動作では、EventWriter の内部名前空間コンテキストで接頭辞の値が検索されます。属性が存在する場合、各属性はこの表の属性のセクションで指定された動作を使用して書き込まれます。名前空間が存在する場合、各名前空間はこの表の名前空間のセクションで指定された動作を使用して書き込まれます。
END_ELEMENT Qname name なし 整形式の END_ELEMENT タグが書き込まれます。名前は、名前空間 URI の接頭辞を検索して書き込まれます。ライターは、QName の接頭辞に関係付けるように設定できます。ライターを接頭辞に関係付ける場合は、QName で接頭辞セットを使用する必要があります。デフォルトの動作では、EventWriter の内部名前空間コンテキストで接頭辞の値が検索されます。END_ELEMENT の名前が START_ELEMENT の名前に一致しない場合、XMLStreamException がスローされます。
ATTRIBUTE QName name、String value QName type START_ELEMENT で使用されるものと同じ字句形式検索アルゴリズムを使用して、属性が書き込まれます。デフォルトでは、属性値を囲むために二重引用符が使用され、値内にある二重引用符をすべてエスケープします。型の値は無視されます。
NAMESPACE String prefix、String namespaceURI、boolean isDefaultNamespaceDeclaration なし 名前空間宣言が書き込まれます。名前空間がデフォルトの名前空間宣言 (isDefaultNamespaceDeclaration が true) である場合、xmlns="$namespaceURI" が書き込まれ、接頭辞はオプションです。isDefaultNamespaceDeclaration が false である場合、接頭辞を宣言する必要があり、ライターは xmlns を接頭辞の前に付加し、標準の接頭辞宣言を書き出す必要があります。
PROCESSING_INSTRUCTION なし String target、String data データが存在する必要はなく、null でもかまいません。ターゲットは必須で、null 以外です。ライターは適切な XML 1.0 構文に従って、ターゲットの直後にデータセクションを書き込みます。
COMMENT なし String comment コメントが存在する場合 (null 以外)、そのコメントが書き込まれます。存在しない場合は、空のコメントが書き込まれます。
START_DOCUMENT なし String encoding、boolean standalone、String version START_DOCUMENT イベントをストリームに書き込む必要はありません。属性が存在する場合、それらの属性は適切な XML 宣言の構文で書き込まれます。
END_DOCUMENT なし なし 何も出力に書き込まれません。
DTD String DocumentTypeDefinition なし DocumentTypeDefinition が出力に書き込まれます。

定義:
インタフェース XMLEventConsumer 内の add
パラメータ:
event - 追加されるイベント
例外:
XMLStreamException

add

void add(XMLEventReader reader)
         throws XMLStreamException
ストリーム全体を出力ストリームに追加し、hasNext() が false を返すまで inputStream 引数で next() を呼び出します。これは、イベントリーダー内のすべてのイベントに対する後続のループを実行し、各イベントで add を呼び出すための便利な方法として使用するようにします。

パラメータ:
reader - 出力に追加するイベントストリーム
例外:
XMLStreamException

getPrefix

String getPrefix(String uri)
                 throws XMLStreamException
URI のバインド先の接頭辞を取得します。

パラメータ:
uri - 検索する URI
例外:
XMLStreamException

setPrefix

void setPrefix(String prefix,
               String uri)
               throws XMLStreamException
URI のバインド先の接頭辞を設定します。この接頭辞は、現在の START_ELEMENT と END_ELEMENT のペアの範囲にバインドされます。START_ELEMENT が書き込まれる前にこのメソッドが呼び出されると、接頭辞はルートの範囲にバインドされます。

パラメータ:
prefix - URI にバインドされる接頭辞
uri - 接頭辞にバインドされる URI
例外:
XMLStreamException

setDefaultNamespace

void setDefaultNamespace(String uri)
                         throws XMLStreamException
URI をデフォルトの名前空間にバインドします。この URI は、現在の START_ELEMENT と END_ELEMENT のペアの範囲にバインドされます。START_ELEMENT が書き込まれる前にこのメソッドが呼び出されると、URI はルートの範囲にバインドされます。

パラメータ:
uri - デフォルトの名前空間にバインドされる URI
例外:
XMLStreamException

setNamespaceContext

void setNamespaceContext(NamespaceContext context)
                         throws XMLStreamException
接頭辞と URI のバインドに対して、現在の名前空間コンテキストを設定します。このコンテキストは書き込みに使用するルートの名前空間コンテキストになります。また、現在のルートの名前空間コンテキストを置き換えます。後続の setPrefix および setDefaultNamespace の呼び出しでは、名前空間の解決用にルートコンテキストとしてメソッドに渡されたコンテキストを使用して名前空間がバインドされます。

パラメータ:
context - このライターに使用する名前空間コンテキスト
例外:
XMLStreamException

getNamespaceContext

NamespaceContext getNamespaceContext()
現在の名前空間コンテキストを返します。

戻り値:
現在の名前空間コンテキスト

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 も参照してください。