複合プロパティー
@XMLElement は、レコードのフィールドで指定され、XML 要素の特性を特定します。
このプロパティーには以下のフィールドが含まれます。
- name
- XML 要素の名前。デフォルト値はレコード・フィールドの名前です。
レコードを XML 文字列に書き込む場合、プロパティー・フィールドの値が XML 文字列内の要素に代入されます。XML 文字列をレコードに読み込む場合、最上位の XML 要素の名前がプロパティー・フィールドの値と一致しないと、EGL ランタイムにより RuntimeException が発行されます。
- namespace
- XML 要素と関連付けられている XML 名前空間 (ある場合)。
デフォルト名前空間の場合であっても、名前空間を明示的に指定する必要があります。
名前空間を指定した場合は、以下の記述が適用されます。
- レコードを XML 文字列に書き込む場合に、名前空間接頭部が自動で割り当てられます。
- XML 文字列をレコードに読み込む場合に、その要素が指定した名前空間にないと、XMLProcessingException が発生します。
名前空間を指定していない場合は、以下の記述が適用されます。
- レコードを XML 文字列に書き込む場合に、名前空間接頭部は指定されません。
- XML 文字列をレコードに読み込む場合に、要素がいずれかの名前空間に含まれていると、XMLProcessingException が発生します。
- nillable
- ブール値。XML 文字列に書き込む要素が NULL 可能かどうかを示します。以下の値を選択できます。
- 値が false (デフォルト) の場合は、内容が NULL のときは、EGL ランタイムは要素を XML 文字列に書き込みません。
- 値が true の場合は、NULL をレコードから XML 文字列に書き込もうとすると、属性値 xsi:nil="true" を含み、その他の属性を含まない空の要素になります。
レコード・フィールドの NULL 可能という特徴は、EGL ランタイムが XML 文字列をレコードに読み込むときに発生する事象に影響を与えます。詳しくは、『XML 文字列の EGL 変数へのコピーおよび EGL 変数からのコピー』を参照してください。