- Attribute
- Namespace
Attribute
Attribute イベントは XMLEventFactory#createAttribute() メソッドによって生成します。 createStartAttribute() メソッドは次の3つが定義されています。
createAttribute(QName name, String value) createAttribute(String localName, String value) createAttribute(String prefix, String uri, String localName, String value)
設定できるパラメータ
パラメータ | 型 | デフォルト値 |
---|---|---|
QName | QName | - |
接頭辞 | String | - |
名前空間 URI | String | - |
ローカル名 | String | - |
属性値 | String | - |
サンプル
各 createAttribute() メソッドの挙動を見てみましょう。
- Java コード:メソッド呼び出し(引数の指定)
- toString():生成された XMLEvent オブジェクトに対して toString() メソッドを呼び出した際に返される文字列
- XMLEventWriter:生成された XMLEvent オブジェクトに対して XMLEventWriter#add(XMLEvent) を呼び出した際に書き出される文字列
です(これらは今後も使います)。 また、XMLEventWriter に書き出す場合は、事前に開始タグが出力されていなければ例外 XMLStreamException が投げられます。
Java コード | createAttribute(new QName("att"), "value") |
---|---|
toString() | att='value' |
XMLEventWriter | att="value" |
Java コード | createAttribute("att", "value") |
---|---|
toString() | att='value' |
XMLEventWriter | att="value" |
Java コード | createAttribute("p", "ns-uri", "att", "value") |
---|---|
toString() | p:att='value' |
XMLEventWriter | p:att="value" |
名前空間 URI の値は XMLEventWriter には影響なさそうです。 また、属性値の型はどうやって指定するのか不明。
Namespace
Namespace イベントは XMLEventFactory#createNamespace() メソッドによって生成します。 createNamespace() メソッドは次の2つが定義されています。
createNamespace(String uri) createNamespace(String prefix, String uri)
設定できるパラメータ
パラメータ | 型 | デフォルト値 |
---|---|---|
接頭辞 | String | - |
名前空間 URI | String | - |
接頭辞に指定がない場合は、デフォルト名前空間宣言に対応する Namespace イベントを生成します。
サンプル
XMLEventWriter に書き出す場合は、事前に開始タグが出力されていなければ例外 XMLStreamException が投げられます。
Java コード | createNamespace("ns-uri") |
---|---|
toString() | xmlns:='ns-uri' |
XMLEventWriter | xmlns="ns-uri" |
Java コード | createNamespace("p", "ns-uri") |
---|---|
toString() | xmlns:p='ns-uri' |
XMLEventWriter | xmlns:p="ns-uri" |