倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

XMLEventFactory (2) : 文書 StartDocument, EndDocument

今回は文書に関する XML イベント。

  • StartDocument
  • EndDocument

StartDocument


StartDocument イベントは XMLEventFactory#createStartDocument() メソッドによって生成します。 createStartDocument() メソッドは次の4つが定義されています。

createStartDocument()
createStartDocument(String encoding)
createStartDocument(String encoding, String version)
createStartDocument(String encoding, String version, boolean standalone)

設定できるパラメータ

パラメータ デフォルト値
encoding String "UTF-8"
version String "1.0"
standalone boolean false (no)

サンプル

各 createStartDocument() メソッドの挙動を見てみましょう。

  • Java コード:メソッド呼び出し(引数の指定)
  • toString():生成された XMLEvent オブジェクトに対して toString() メソッドを呼び出した際に返される文字列
  • XMLEventWriter:生成された XMLEvent オブジェクトに対して XMLEventWriter#add(XMLEvent) を呼び出した際に書き出される文字列

です(これらは今後も使います)。

Java コード createStartDocument()
toString() <?xml version="1.0" encoding='UTF-8'?>
XMLEventWriter <?xml version="1.0" encoding="UTF-8"?>
Java コード createStartDocument("SHIFT_JIS")
toString() <?xml version="1.0" encoding='SHIFT_JIS'?>
XMLEventWriter <?xml version="1.0"?>
Java コード createStartDocument("SHIFT_JIS", "1.0")
toString() <?xml version="1.1" encoding='SHIFT_JIS'?>
XMLEventWriter <?xml version="1.1"?>
Java コード createStartDocument("SHIFT_JIS", "1.1", true)
toString() <?xml version="1.1" encoding='SHIFT_JIS'?>
XMLEventWriter <?xml version="1.1"?>

エンコーディングや standalone 宣言を設定した際の挙動が不明なところがありますが・・・

EndDocument


EndDocument イベントは XMLEventFactory#createEndDocument() メソッドによって生成します。 createEndDocument() メソッドは次の1つのみが定義されています。

createEndDocument()

設定できるパラメータ

EndDocument には設定できるパラメータはありません。

サンプル

Java コード createStartDocument()
toString() ENDDOCUMENT
XMLEventWriter (出力なし)*1

*1:閉じられていない要素があれば、自動的に終了タグを出力してくれます。