モジュール java.xml
パッケージ javax.xml.stream

インタフェースXMLStreamWriter


public interface XMLStreamWriter
XMLStreamWriterインタフェースはXMLの書込み方法を指定します。 XMLStreamWriterは入力に対しては整形式を確認しません。 ただし、writeCharactersメソッドは&、< and >をエスケープする必要があります。属性値の場合、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]プレフィクス== ""|| null & & namespaceURI ==""の場合、プレフィクスまたはネームスペース宣言は生成されないか、記述されません。
  • [3] prefix == ""||nullの場合、接頭辞はランダムに生成されます
  • [4] prefix == ""||nullの場合、デフォルトの名前空間として処理され、接頭辞は生成または書き込みされません。また、namespaceURIがバインドされていない場合は、xmlns宣言が生成または書き込みされます
  • [5] prefix == ""||nullの場合、デフォルトの名前空間の定義が無効であるとして処理され、XMLStreamExceptionがスローされます
導入されたバージョン:
1.6
関連項目:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    このライターを閉じて、ライターに関連付けられているリソースをすべて解放します。
    void
    キャッシュに格納されたすべてのデータを、ベースとなる出力メカニズムに書き込みます。
    現在の名前空間コンテキストを返します。
    URIのバインド先の接頭辞を取得します。
    ベースとなる実装から機能またはプロパティの値を取得します。
    void
    URIをデフォルトの名前空間にバインドします。このURIは、現在のSTART_ELEMENTとEND_ELEMENTのペアの範囲にバインドされます。
    void
    接頭辞と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
    CDataセクションを書き込みます。
    void
    writeCharacters(char[] text, int start, int len)
    出力にテキストを書き込みます。
    void
    出力にテキストを書き込みます。
    void
    コメント・アウトされたデータを使用してXMLコメントを書き込みます。
    void
    出力ストリームにデフォルトの名前空間を書き込みます。
    void
    DTDセクションを書き込みます。
    void
    出力に空の要素タグを書き込みます。
    void
    writeEmptyElement(String namespaceURI, String localName)
    出力に空の要素タグを書き込みます。
    void
    writeEmptyElement(String prefix, String localName, String namespaceURI)
    出力に空の要素タグを書き込みます。
    void
    すべての開始タグを閉じて、対応する終了タグを書き込みます。
    void
    出力に終了タグを書き込みます。イベントの接頭辞とローカル名の判別はライターの内部状態に依存します。
    void
    エンティティ参照を書き込みます。
    void
    writeNamespace(String prefix, String namespaceURI)
    出力ストリームに名前空間を書き込みます。このメソッドの接頭辞引数が空の文字列、「xmlns」、またはnullの場合、このメソッドはwriteDefaultNamespaceに委譲します。
    void
    処理命令を書き込みます。
    void
    処理命令を書き込みます。
    void
    XML宣言を書き込みます。
    void
    XML宣言を書き込みます。
    void
    writeStartDocument(String encoding, String version)
    XML宣言を書き込みます。
    void
    出力に開始タグを書き込みます。
    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

      URIのバインド先の接頭辞を取得します。
      パラメータ:
      uri - プレフィクスがバインドされる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

      ベースとなる実装から機能またはプロパティの値を取得します。
      パラメータ:
      name - プロパティの名前(null以外)
      戻り値:
      プロパティの値
      例外:
      IllegalArgumentException - プロパティがサポートされていない場合
      NullPointerException - 名前がnullである場合