WS_FIELD_MAPPING
列挙型メンバー 13
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| WS_TYPE_ATTRIBUTE_FIELD_MAPPING | 0 | 0x0 | フィールドは XML の type 属性 (xsi:type) に対応します。これは WS_DESCRIPTION_TYPE でのみ使用できます。
このマッピングでは WS_DEFAULT_VALUE の指定はサポートされません。 |
| WS_ATTRIBUTE_FIELD_MAPPING | 1 | 0x1 | フィールドは 1 つの属性に対応します。 フィールドの localName/ns が XML 属性の名前と名前空間として使用されます。 指定がない限り、この属性は XML 内に存在しなければなりません。WS_FIELD_OPTIONAL が指定されている場合、この属性は XML 内に存在する必要はありません。省略可能で存在しない場合、フィールドには WS_DEFAULT_VALUE が設定されます。既定値が指定されていない場合は 0 が設定されます。
属性を破棄するには、WS_VOID_TYPE を使用してください。この場合、構造体にフィールドは必要ありません。詳細については WS_VOID_TYPE を参照してください。 |
| WS_ELEMENT_FIELD_MAPPING | 2 | 0x2 | フィールドは 1 つの要素に対応します。 フィールドの localName/ns が XML 要素の名前と名前空間として使用されます。 指定がない限り、この要素は XML 内に存在しなければなりません。WS_FIELD_OPTIONAL が指定されている場合、この要素は XML 内に存在する必要はありません。省略可能で存在しない場合、フィールドには WS_DEFAULT_VALUE が設定されます。既定値が指定されていない場合は 0 が設定されます。
要素を破棄するには、WS_VOID_TYPE を使用してください。この場合、構造体にフィールドは必要ありません。詳細については WS_VOID_TYPE を参照してください。 |
| WS_REPEATING_ELEMENT_FIELD_MAPPING | 3 | 0x3 | フィールドは繰り返される要素の集合に対応します。 フィールドの localName/ns は、ラッパー要素 (繰り返される要素の親となる要素) の XML 要素名と名前空間として使用されます。ラッパー要素が不要な場合は、localName/ns の両方を NULL にしてください。 ラッパー要素が指定されている場合、繰り返し要素の数が 0 でなければラッパー要素は XML 内に存在しなければなりません。このフィールドマッピングでは WS_DEFAULT_VALUE を指定できません。 itemLocalName と itemNs は、繰り返される要素の XML 要素名と名前空間として使用されます。
逆シリアル化される配列の要素数は、WS_FIELD_DESCRIPTION の一部である WS_ITEM_RANGE 構造体を NULL 以外で指定することにより制限できます。 |
| WS_TEXT_FIELD_MAPPING | 4 | 0x4 | フィールドは要素の文字コンテンツ全体に対応します。このマッピングを使用する場合、子要素は許可されません。 このマッピングは通常、WS_ATTRIBUTE_FIELD_MAPPING と組み合わせて使用し、テキストと属性を含む (子要素は含まない) 要素に対応する構造体を定義します。
このマッピングでは WS_DEFAULT_VALUE の指定はサポートされません。 |
| WS_NO_FIELD_MAPPING | 5 | 0x5 | フィールドはシリアル化も逆シリアル化もされません。 シリアル化時にはフィールドは無視され、逆シリアル化時には既定値で初期化されます。 フィールドが既存の型のいずれか (たとえば WS_INT32_TYPE) に対応する場合は、その型を指定できます。フィールドの型が既存の型のいずれでもない場合は、WS_VOID_TYPE を使用して任意の型とサイズのフィールドを指定できます。 逆シリアル化時にフィールドを初期化する値を指定するために、WS_DEFAULT_VALUE を指定できます。既定値が指定されていない場合、フィールドは 0 で初期化されます。 このフィールドマッピングは、WS_FIELD_OPTIONS の値が 0 の場合にのみ使用できます。 |
| WS_XML_ATTRIBUTE_FIELD_MAPPING | 6 | 0x6 | フィールドは予約済みの xml 属性 (xml:lang など) に対応します。 フィールドの localName が XML 属性名の識別に使用されます。 WS_FIELD_OPTIONAL が指定されていない限り、この属性は XML 内に存在しなければなりません。WS_FIELD_OPTIONAL が指定されている場合、この属性は XML 内に存在する必要はありません。省略可能で存在しない場合、フィールドには WS_DEFAULT_VALUE が設定されます。既定値が指定されていない場合は 0 が設定されます。 |
| WS_ELEMENT_CHOICE_FIELD_MAPPING | 7 | 0x7 | フィールドは、複数の候補要素の中からの選択に対応します。各要素は共用体 (union) のいずれかのフィールドに対応します。共用体の各フィールドには対応する列挙値があり、現在の選択を識別するために使用されます。
このフィールドマッピングは WS_UNION_TYPE と共に使用しなければなりません。選択肢となる要素の名前と名前空間は WS_UNION_DESCRIPTION で指定します。フィールドの localName と ns は NULL でなければなりません。 WS_FIELD_OPTIONAL が指定されていない限り、いずれかの要素が XML 内に存在しなければなりません。WS_FIELD_OPTIONAL が指定されている場合、いずれの要素も XML 内に存在する必要はありません。省略可能でいずれの要素も存在しない場合、フィールドのセレクター値は列挙型の none 値 (WS_UNION_DESCRIPTION の noneEnumValue フィールドで指定された値) に設定されます。nonEnumValue が既定値として使用されるため、このマッピング値では WS_DEFAULT_VALUE の指定はサポートされません。
フィールドは、複数の候補要素の中からの選択に対応します。各要素は共用体 (union) のいずれかのフィールドに対応します。共用体の各フィールドには対応する列挙値があり、現在の選択を識別するために使用されます。
このフィールドマッピングは WS_UNION_TYPE と共に使用しなければなりません。選択肢となる要素の名前と名前空間は WS_UNION_DESCRIPTION で指定します。フィールドの localName と ns は NULL でなければなりません。 WS_FIELD_OPTIONAL が指定されていない限り、いずれかの要素が XML 内に存在しなければなりません。WS_FIELD_OPTIONAL が指定されている場合、いずれの要素も XML 内に存在する必要はありません。省略可能でいずれの要素も存在しない場合、フィールドのセレクター値は列挙型の none 値 (WS_UNION_DESCRIPTION の noneEnumValue フィールドで指定された値) に設定されます。nonEnumValue が既定値として使用されるため、このマッピング値では WS_DEFAULT_VALUE の指定はサポートされません。
セレクター値は、共用体のどのフィールドが設定されているかを示します。値が逆シリアル化されるとき、その他のフィールドは未初期化のまま残ります。アプリケーションは、共用体のフィールドにアクセスできるかどうかを確認するために、必ずセレクター値を参照してください。 |
| WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING | 8 | 0x8 | フィールドは、繰り返される要素選択の集合に対応します。 各項目はセレクター値を持つ共用体で表されます。このマッピングは WS_UNION_TYPE と共に使用しなければなりません。 フィールドの localName/ns は、ラッパー要素 (繰り返される要素の親となる要素) の XML 要素名と名前空間として使用されます。ラッパー要素が不要な場合は、localName/ns の両方を NULL にしてください。 ラッパー要素が指定されている場合、繰り返し要素の数が 0 でなければラッパー要素は XML 内に存在しなければなりません。このフィールドマッピングでは WS_DEFAULT_VALUE を指定できません。 itemLocalName と itemNs のフィールドは NULL でなければなりません。XML 要素名と名前空間は WS_UNION_DESCRIPTION で定義されます。
逆シリアル化される配列の要素数は、WS_FIELD_DESCRIPTION の一部である WS_ITEM_RANGE 構造体を NULL 以外で指定することにより制限できます。 |
| WS_ANY_ELEMENT_FIELD_MAPPING | 9 | 0x9 | 未定 (TBD) |
| WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING | 10 | 0xA | フィールドは、任意の名前と名前空間を持つ一連の要素を破棄または格納するために使用されます。 要素を格納するには、WS_XML_BUFFER_TYPE を使用してください。これは次のように WS_XML_BUFFER の配列に対応します。
要素を破棄するには、WS_VOID_TYPE を使用してください。この場合、構造体にフィールドは必要ありません。詳細については WS_VOID_TYPE を参照してください。 逆シリアル化時に許可される要素数は、WS_FIELD_DESCRIPTION の一部である WS_ITEM_RANGE 構造体を NULL 以外で指定することにより制限できます。 このマッピングでは WS_DEFAULT_VALUE の指定はサポートされません。 |
| WS_ANY_CONTENT_FIELD_MAPPING | 11 | 0xB | フィールドは、要素の終わりまでに現れる残りのコンテンツ (テキストと要素の任意の組み合わせ) を破棄または格納するために使用されます。 要素を格納するには、次のように WS_XML_BUFFER_TYPE を使用してください。
要素を破棄するには、WS_VOID_TYPE を使用してください。この場合、構造体にフィールドは必要ありません。詳細については WS_VOID_TYPE を参照してください。 このマッピングでは WS_DEFAULT_VALUE の指定はサポートされません。 |
| WS_ANY_ATTRIBUTES_FIELD_MAPPING | 12 | 0xC | フィールドは、他の WS_FIELD_MAPPING の値ではマップされなかった属性を破棄または格納するために使用されます。 このフィールドマッピングが指定されていない場合、マップされていない属性があると逆シリアル化時にエラーが発生します。 WS_FIELD_DESCRIPTION の name フィールドは NULL でなければなりません。 WS_FIELD_DESCRIPTION の ns フィールドは、許可される属性の名前空間を次のように制限します。
属性を格納するには、WS_ANY_ATTRIBUTES_TYPE を使用してください。これは次のように WS_ANY_ATTRIBUTES に対応します。
マップされていない属性を破棄するには、WS_VOID_TYPE を使用してください。この場合、構造体にフィールドは必要ありません。詳細については WS_VOID_TYPE を参照してください。 このマッピングでは WS_DEFAULT_VALUE の指定はサポートされません。 |
公式ドキュメント
構造体のフィールドが XML でどのように表現されるかを指定します。これは WS_FIELD_DESCRIPTION 内で使用されます。
解説(Remarks)
WS_FIELD_MAPPING は、XML コンテンツの各部分が構造体のフィールドにどのように対応するかを示します。たとえば、子要素の値をマップするには WS_ELEMENT_FIELD_MAPPING を、属性をマップするには WS_ATTRIBUTE_FIELD_MAPPING を使用できます。読み取られた XML コンテンツのうち明示的にマップされていないものがあると、XML の逆シリアル化時に WS_E_INVALID_FORMAT が返されます (Windows Web Services return values を参照してください)。
WS_STRUCT_DESCRIPTION 内における WS_FIELD_DESCRIPTION の順序は、WS_FIELD_DESCRIPTION の WS_FIELD_MAPPING の値によって決まります。順序の詳細については WS_STRUCT_DESCRIPTION を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum WS_FIELD_MAPPING : int {
WS_TYPE_ATTRIBUTE_FIELD_MAPPING = 0,
WS_ATTRIBUTE_FIELD_MAPPING = 1,
WS_ELEMENT_FIELD_MAPPING = 2,
WS_REPEATING_ELEMENT_FIELD_MAPPING = 3,
WS_TEXT_FIELD_MAPPING = 4,
WS_NO_FIELD_MAPPING = 5,
WS_XML_ATTRIBUTE_FIELD_MAPPING = 6,
WS_ELEMENT_CHOICE_FIELD_MAPPING = 7,
WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING = 8,
WS_ANY_ELEMENT_FIELD_MAPPING = 9,
WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING = 10,
WS_ANY_CONTENT_FIELD_MAPPING = 11,
WS_ANY_ATTRIBUTES_FIELD_MAPPING = 12
} WS_FIELD_MAPPING;public enum WS_FIELD_MAPPING : int
{
WS_TYPE_ATTRIBUTE_FIELD_MAPPING = 0,
WS_ATTRIBUTE_FIELD_MAPPING = 1,
WS_ELEMENT_FIELD_MAPPING = 2,
WS_REPEATING_ELEMENT_FIELD_MAPPING = 3,
WS_TEXT_FIELD_MAPPING = 4,
WS_NO_FIELD_MAPPING = 5,
WS_XML_ATTRIBUTE_FIELD_MAPPING = 6,
WS_ELEMENT_CHOICE_FIELD_MAPPING = 7,
WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING = 8,
WS_ANY_ELEMENT_FIELD_MAPPING = 9,
WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING = 10,
WS_ANY_CONTENT_FIELD_MAPPING = 11,
WS_ANY_ATTRIBUTES_FIELD_MAPPING = 12,
}Public Enum WS_FIELD_MAPPING As Integer
WS_TYPE_ATTRIBUTE_FIELD_MAPPING = 0
WS_ATTRIBUTE_FIELD_MAPPING = 1
WS_ELEMENT_FIELD_MAPPING = 2
WS_REPEATING_ELEMENT_FIELD_MAPPING = 3
WS_TEXT_FIELD_MAPPING = 4
WS_NO_FIELD_MAPPING = 5
WS_XML_ATTRIBUTE_FIELD_MAPPING = 6
WS_ELEMENT_CHOICE_FIELD_MAPPING = 7
WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING = 8
WS_ANY_ELEMENT_FIELD_MAPPING = 9
WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING = 10
WS_ANY_CONTENT_FIELD_MAPPING = 11
WS_ANY_ATTRIBUTES_FIELD_MAPPING = 12
End Enumimport enum
class WS_FIELD_MAPPING(enum.IntEnum):
WS_TYPE_ATTRIBUTE_FIELD_MAPPING = 0
WS_ATTRIBUTE_FIELD_MAPPING = 1
WS_ELEMENT_FIELD_MAPPING = 2
WS_REPEATING_ELEMENT_FIELD_MAPPING = 3
WS_TEXT_FIELD_MAPPING = 4
WS_NO_FIELD_MAPPING = 5
WS_XML_ATTRIBUTE_FIELD_MAPPING = 6
WS_ELEMENT_CHOICE_FIELD_MAPPING = 7
WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING = 8
WS_ANY_ELEMENT_FIELD_MAPPING = 9
WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING = 10
WS_ANY_CONTENT_FIELD_MAPPING = 11
WS_ANY_ATTRIBUTES_FIELD_MAPPING = 12// WS_FIELD_MAPPING
pub const WS_TYPE_ATTRIBUTE_FIELD_MAPPING: i32 = 0;
pub const WS_ATTRIBUTE_FIELD_MAPPING: i32 = 1;
pub const WS_ELEMENT_FIELD_MAPPING: i32 = 2;
pub const WS_REPEATING_ELEMENT_FIELD_MAPPING: i32 = 3;
pub const WS_TEXT_FIELD_MAPPING: i32 = 4;
pub const WS_NO_FIELD_MAPPING: i32 = 5;
pub const WS_XML_ATTRIBUTE_FIELD_MAPPING: i32 = 6;
pub const WS_ELEMENT_CHOICE_FIELD_MAPPING: i32 = 7;
pub const WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING: i32 = 8;
pub const WS_ANY_ELEMENT_FIELD_MAPPING: i32 = 9;
pub const WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING: i32 = 10;
pub const WS_ANY_CONTENT_FIELD_MAPPING: i32 = 11;
pub const WS_ANY_ATTRIBUTES_FIELD_MAPPING: i32 = 12;// WS_FIELD_MAPPING
const (
WS_TYPE_ATTRIBUTE_FIELD_MAPPING int32 = 0
WS_ATTRIBUTE_FIELD_MAPPING int32 = 1
WS_ELEMENT_FIELD_MAPPING int32 = 2
WS_REPEATING_ELEMENT_FIELD_MAPPING int32 = 3
WS_TEXT_FIELD_MAPPING int32 = 4
WS_NO_FIELD_MAPPING int32 = 5
WS_XML_ATTRIBUTE_FIELD_MAPPING int32 = 6
WS_ELEMENT_CHOICE_FIELD_MAPPING int32 = 7
WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING int32 = 8
WS_ANY_ELEMENT_FIELD_MAPPING int32 = 9
WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING int32 = 10
WS_ANY_CONTENT_FIELD_MAPPING int32 = 11
WS_ANY_ATTRIBUTES_FIELD_MAPPING int32 = 12
)const
WS_TYPE_ATTRIBUTE_FIELD_MAPPING = 0;
WS_ATTRIBUTE_FIELD_MAPPING = 1;
WS_ELEMENT_FIELD_MAPPING = 2;
WS_REPEATING_ELEMENT_FIELD_MAPPING = 3;
WS_TEXT_FIELD_MAPPING = 4;
WS_NO_FIELD_MAPPING = 5;
WS_XML_ATTRIBUTE_FIELD_MAPPING = 6;
WS_ELEMENT_CHOICE_FIELD_MAPPING = 7;
WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING = 8;
WS_ANY_ELEMENT_FIELD_MAPPING = 9;
WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING = 10;
WS_ANY_CONTENT_FIELD_MAPPING = 11;
WS_ANY_ATTRIBUTES_FIELD_MAPPING = 12;// WS_FIELD_MAPPING
pub const WS_TYPE_ATTRIBUTE_FIELD_MAPPING: i32 = 0;
pub const WS_ATTRIBUTE_FIELD_MAPPING: i32 = 1;
pub const WS_ELEMENT_FIELD_MAPPING: i32 = 2;
pub const WS_REPEATING_ELEMENT_FIELD_MAPPING: i32 = 3;
pub const WS_TEXT_FIELD_MAPPING: i32 = 4;
pub const WS_NO_FIELD_MAPPING: i32 = 5;
pub const WS_XML_ATTRIBUTE_FIELD_MAPPING: i32 = 6;
pub const WS_ELEMENT_CHOICE_FIELD_MAPPING: i32 = 7;
pub const WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING: i32 = 8;
pub const WS_ANY_ELEMENT_FIELD_MAPPING: i32 = 9;
pub const WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING: i32 = 10;
pub const WS_ANY_CONTENT_FIELD_MAPPING: i32 = 11;
pub const WS_ANY_ATTRIBUTES_FIELD_MAPPING: i32 = 12;const
WS_TYPE_ATTRIBUTE_FIELD_MAPPING* = 0
WS_ATTRIBUTE_FIELD_MAPPING* = 1
WS_ELEMENT_FIELD_MAPPING* = 2
WS_REPEATING_ELEMENT_FIELD_MAPPING* = 3
WS_TEXT_FIELD_MAPPING* = 4
WS_NO_FIELD_MAPPING* = 5
WS_XML_ATTRIBUTE_FIELD_MAPPING* = 6
WS_ELEMENT_CHOICE_FIELD_MAPPING* = 7
WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING* = 8
WS_ANY_ELEMENT_FIELD_MAPPING* = 9
WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING* = 10
WS_ANY_CONTENT_FIELD_MAPPING* = 11
WS_ANY_ATTRIBUTES_FIELD_MAPPING* = 12enum WS_FIELD_MAPPING : int {
WS_TYPE_ATTRIBUTE_FIELD_MAPPING = 0,
WS_ATTRIBUTE_FIELD_MAPPING = 1,
WS_ELEMENT_FIELD_MAPPING = 2,
WS_REPEATING_ELEMENT_FIELD_MAPPING = 3,
WS_TEXT_FIELD_MAPPING = 4,
WS_NO_FIELD_MAPPING = 5,
WS_XML_ATTRIBUTE_FIELD_MAPPING = 6,
WS_ELEMENT_CHOICE_FIELD_MAPPING = 7,
WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING = 8,
WS_ANY_ELEMENT_FIELD_MAPPING = 9,
WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING = 10,
WS_ANY_CONTENT_FIELD_MAPPING = 11,
WS_ANY_ATTRIBUTES_FIELD_MAPPING = 12,
}#define global WS_TYPE_ATTRIBUTE_FIELD_MAPPING 0x0
#define global WS_ATTRIBUTE_FIELD_MAPPING 0x1
#define global WS_ELEMENT_FIELD_MAPPING 0x2
#define global WS_REPEATING_ELEMENT_FIELD_MAPPING 0x3
#define global WS_TEXT_FIELD_MAPPING 0x4
#define global WS_NO_FIELD_MAPPING 0x5
#define global WS_XML_ATTRIBUTE_FIELD_MAPPING 0x6
#define global WS_ELEMENT_CHOICE_FIELD_MAPPING 0x7
#define global WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING 0x8
#define global WS_ANY_ELEMENT_FIELD_MAPPING 0x9
#define global WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING 0xA
#define global WS_ANY_CONTENT_FIELD_MAPPING 0xB
#define global WS_ANY_ATTRIBUTES_FIELD_MAPPING 0xC