モジュール 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
    バージョン:
    1.0
    関連項目:
    XMLOutputFactory, XMLStreamReader
    • メソッドの詳細

      • 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
      • 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​(char[] text,
                             int start,
                             int len)
                      throws XMLStreamException
        出力にテキストを書き込みます。
        パラメータ:
        text - 書き込む値
        start - 配列内の開始位置
        len - 書き込む文字数
        例外:
        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である場合