空のエレメントおよびヌル値は XML 文書内にはよくあります。
堅固なメッセージ・フローは、空のエレメントとヌル値を認識し、それを処理できなければなりません。 同様に、メッセージ・ツリー内のエレメントには、ヌル値がある、空の値がある、または値がまったくないということがあります。 このトピックでは、XMLNS ドメインによるこれらの値の構文解析および書き込みを説明します。 ESQL または Java™ の適切なコーディング手法に関するアドバイスについては、ヌル値の処理を参照してください。
説明 | XMLNS により構文解析される XML 入力 | メッセージ・ツリー内の「エレメント」の値 |
---|---|---|
空のエレメント値 | <element/> | 空ストリング |
空のエレメント値 | <element></element> | 空ストリング |
子エレメントがあるフォルダー | <element><childElement/></element> | 値なし |
nil のエレメント値 | <element xsi:nil="true"/> | 空ストリング |
空のエレメントのどちらの形式も、メッセージ・ツリー内では同じ値の結果になることに注意してください。
さらに、ヌル値は XMLNS パーサーによりメッセージ・ツリーに書き込まれないことにも注意してください。
説明 | メッセージ・ツリー内の「エレメント」の値 | XMLNS パーサーからの XML 出力 |
---|---|---|
空のエレメント値 | 空ストリング | <element/> |
ヌルのエレメント値 | NULL | <element/> |
子エレメントがあるフォルダー | 値なし | <element><childElement/></element> |
- <element/>
- <element></element>
XMLNS パーサーはどちらの形式も同じように扱います。 エレメントはメッセージ・ツリーに“”の値 (空ストリング) とともに追加されます。
メッセージ・ツリーが XMLNS パーサーにより生成される場合は、“”(空ストリング) の値を持つエレメントには必ず最初の形式を使用します。
XMLNS パーサーは xsi:nil 属性を他の属性とまったく同じように扱います。 構文解析時に xsi:nil を検出しても、親エレメントの値をヌルに設定することはありません。 この動作が必要な場合は、XMLNSC パーサーを使用してください。 メッセージ・ツリーの書き込み時に xsi:nil 属性が存在している場合、他の属性と同じように生成されます。