-
public interface XMLStreamWriter
XMLStreamWriterインタフェースはXMLの書込み方法を指定します。 XMLStreamWriterは入力に対しては整形式を確認しません。 ただし、writeCharactersメソッドは&、< and >をエスケープする必要があります。属性値の場合、writeAttributeメソッドは上記の文字に"を加え、すべての文字の内容と属性値が整形式であることを保証します。 それぞれのNAMESPACEとATTRIBUTEは、個別に書き込まれる必要があります。XML名前空間、 javax.xml.stream.isRepairingNamespaces
、および書込みメソッドの動作メソッド isRepairingNamespaces
== trueisRepairingNamespaces
== falsenamespaceURIバインドあり 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]プレフィクス== ""|| 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をデフォルトの名前空間にバインドします。このURIは、現在のSTART_ELEMENTとEND_ELEMENTのペアの範囲にバインドされます。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)
出力ストリームに名前空間を書き込みます。このメソッドの接頭辞引数が空の文字列、「xmlns」、またはnullの場合、このメソッドはwriteDefaultNamespaceに委譲します。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
出力に終了タグを書き込みます。イベントの接頭辞とローカル名の判別はライターの内部状態に依存します。
-
writeEndDocument
void writeEndDocument() throws XMLStreamException
すべての開始タグを閉じて、対応する終了タグを書き込みます。
-
close
void close() throws XMLStreamException
このライターを閉じて、ライターに関連付けられているリソースをすべて解放します。 ベースとなる出力ストリームが閉じることはありません。
-
flush
void flush() throws 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
- この属性の接頭辞のURIlocalName
- 属性のローカル名value
- 属性の値- 例外:
IllegalStateException
- 現在の状態が属性の書込みを許可しない場合XMLStreamException
- 名前空間URIが接頭辞にバインドされておらず、javax.xml.stream.isRepairingNamespacesがtrueに設定されていない場合
-
writeAttribute
void writeAttribute(String namespaceURI, String localName, String value) throws XMLStreamException
属性を出力ストリームに書き込みます。- パラメータ:
namespaceURI
- この属性の接頭辞のURIlocalName
- 属性のローカル名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にデフォルト設定します。
-
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である場合
-
-