WS_FIELD_MAPPING列挙 (webservices.h)
構造体のフィールドを XML で表す方法を指定します。 これは、WS_FIELD_DESCRIPTION内で使用されます。
構文
typedef enum {
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;
定数
WS_TYPE_ATTRIBUTE_FIELD_MAPPING 値: 0 このフィールドは、XML 型属性 (xsi:type) に対応します。 これは、WS_DESCRIPTION_TYPEでのみ使用できます。
このマッピングでは、WS_DEFAULT_VALUEの指定はサポートされていません。 |
WS_ATTRIBUTE_FIELD_MAPPING 値: 1 フィールドは 1 つの属性に対応します。 フィールドの localName/ns は、XML 属性名と名前空間として使用されます。 指定しない限り、属性は XML に含まれている必要があります。 WS_FIELD_OPTIONAL を指定した場合、属性を XML に表示する必要はありません。 省略可能で、存在しない場合、フィールドは WS_DEFAULT_VALUEに設定され、既定値が指定されていない場合は 0 に設定されます。
属性を破棄するには、WS_VOID_TYPE を使用する必要があります。 この場合、構造ではフィールドは必要ありません。 詳細については、WS_VOID_TYPE を参照してください。 |
WS_ELEMENT_FIELD_MAPPING 値: 2 フィールドは 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 フィールドは、要素の繰り返しセットに対応します。 フィールドの localName/ns は、ラッパー要素 (繰り返し要素の親である要素) に使用する XML 要素名と名前空間として使用されます。 ラッパー要素が必要ない場合は、両方の localName/ns を NULL ラッパー要素が指定されている場合、繰り返し要素数が 0 でない場合は、ラッパー要素を XML に表示する必要があります。 このフィールド マッピングに WS_DEFAULT_VALUE を指定することはできません。 itemLocalName と itemN は、繰り返し要素の XML 要素名と名前空間として使用されます。
逆シリアル化された配列内の要素の数は、WS_FIELD_DESCRIPTIONの一部である非NULLWS_ITEM_RANGE 構造体を指定することによって制限できます。 |
WS_TEXT_FIELD_MAPPING 値: 4 このフィールドは、要素の文字コンテンツ全体に対応します。 このマッピングを使用する場合、子要素は許可されません。 このマッピングは、一般的に WS_ATTRIBUTE_FIELD_MAPPING と組み合わせて使用され、一部のテキストと属性を含む要素 (ただし子要素は含まない) にマップされる構造体を定義します。
このマッピングでは、WS_DEFAULT_VALUEの指定はサポートされていません。 |
WS_NO_FIELD_MAPPING 値: 5 フィールドはシリアル化も逆シリアル化もされません。 このフィールドはシリアル化時に無視され、逆シリアル化時に既定値に初期化されます。 フィールドが既存の型のいずれかにマップされている場合 (たとえば、WS_INT32_TYPE)、型を指定できます。 フィールドの型が既存の型の 1 つでない場合は、WS_VOID_TYPE を使用して任意の型とサイズのフィールドを指定できます。 フィールドを逆シリアル化するときにフィールドを初期化する値を提供する WS_DEFAULT_VALUE を指定できます。 既定値が指定されていない場合、フィールドは 0 に初期化されます。 フィールド マッピングは、WS_FIELD_OPTIONS 値が 0 の場合にのみ使用できます。
|
WS_XML_ATTRIBUTE_FIELD_MAPPING 値: 6 このフィールドは、予約済みの xml 属性 (xml:lang など) に対応します。 フィールドの localName は、XML 属性名を識別するために使用されます。 WS_FIELD_OPTIONAL を指定しない限り、属性は XML に含まれている必要があります。 WS_FIELD_OPTIONAL を指定した場合、属性を XML に表示する必要はありません。 省略可能で、存在しない場合、フィールドは WS_DEFAULT_VALUEに設定され、既定値が指定されていない場合は 0 に設定されます。
|
WS_ELEMENT_CHOICE_FIELD_MAPPING 値: 7 このフィールドは、使用可能な一連の要素の選択に対応します。 各要素は、共用体のいずれかのフィールドにマップされます。 共用体の各フィールドには対応する列挙値があり、これは現在の選択を識別するために使用されます。
このフィールド マッピングは、WS_UNION_TYPEで使用する必要があります。 要素の選択肢の名前と名前空間は、WS_UNION_DESCRIPTIONで指定されます。 フィールドの localName と ns は NULL WS_FIELD_OPTIONAL を指定しない限り、要素の 1 つが XML に含まれている必要があります。 WS_FIELD_OPTIONAL を指定した場合、XML に表示する要素は必要ありません。 省略可能で、要素が存在しない場合、フィールドのセレクター値は列挙の none 値 (WS_UNION_DESCRIPTIONの noneEnumValue フィールドで指定) に設定されます。 既定値として nonEnumValue が使用されているため、このマッピング値は WS_DEFAULT_VALUEの指定をサポートしていません。
このフィールドは、使用可能な一連の要素の選択に対応します。 各要素は、共用体のいずれかのフィールドにマップされます。 共用体の各フィールドには対応する列挙値があり、これは現在の選択を識別するために使用されます。
このフィールド マッピングは、WS_UNION_TYPEで使用する必要があります。 要素の選択肢の名前と名前空間は、WS_UNION_DESCRIPTIONで指定されます。 フィールドの localName と ns は NULL WS_FIELD_OPTIONAL を指定しない限り、要素の 1 つが XML に含まれている必要があります。 WS_FIELD_OPTIONAL を指定した場合、XML に表示する要素は必要ありません。 省略可能で、要素が存在しない場合、フィールドのセレクター値は列挙の none 値 (WS_UNION_DESCRIPTIONの noneEnumValue フィールドで指定) に設定されます。 既定値として nonEnumValue が使用されているため、このマッピング値は WS_DEFAULT_VALUEの指定をサポートしていません。
セレクター値は、共用体のどのフィールドが設定されているかを示します。 その他のフィールドは、値が逆シリアル化されるときに初期化されていないままです。 アプリケーションは常にセレクター値を参照して、共用体のフィールドにアクセス可能であることを確認する必要があります。 |
WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING 値: 8 このフィールドは、要素の選択肢の繰り返しセットに対応します。 各項目は、セレクター値を持つ共用体で表されます。 このマッピングは、WS_UNION_TYPEで使用する必要があります。 フィールドの localName/ns は、ラッパー要素 (繰り返し要素の親である要素) に使用する XML 要素名と名前空間として使用されます。 ラッパー要素が必要ない場合は、両方の localName/ns を NULL ラッパー要素が指定されている場合、繰り返し要素数が 0 でない場合は、ラッパー要素を XML に表示する必要があります。 このフィールド マッピングに WS_DEFAULT_VALUE を指定することはできません。 itemLocalName フィールドと itemNs フィールドは、NULL
逆シリアル化された配列内の要素の数は、WS_FIELD_DESCRIPTIONの一部である非NULLWS_ITEM_RANGE 構造体を指定することによって制限できます。 |
WS_ANY_ELEMENT_FIELD_MAPPING 値: 9 未定 |
WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING 値: 10 フィールドは、任意の名前と名前空間を持つ要素のシーケンスを破棄または格納するために使用されます。 要素を格納するには、WS_XML_BUFFER_TYPE を使用する必要があります。 これは、次のように、WS_XML_BUFFERs の配列に対応します。
要素を破棄するには、WS_VOID_TYPE を使用する必要があります。 この場合、構造ではフィールドは必要ありません。 詳細については、WS_VOID_TYPE を参照してください。 逆シリアル化中に許可される要素の数は、WS_FIELD_DESCRIPTIONの一部である非NULLWS_ITEM_RANGE 構造体を指定することによって制限できます。 このマッピングでは、WS_DEFAULT_VALUEの指定はサポートされていません。 |
WS_ANY_CONTENT_FIELD_MAPPING 値: 11 フィールドは、要素の末尾の前に発生する残りのコンテンツ (テキストまたは要素の組み合わせ) を破棄または格納するために使用されます。 要素を格納するには、次のように WS_XML_BUFFER_TYPE を使用する必要があります。
要素を破棄するには、WS_VOID_TYPE を使用する必要があります。 この場合、構造ではフィールドは必要ありません。 詳細については、WS_VOID_TYPE を参照してください。 このマッピングでは、WS_DEFAULT_VALUEの指定はサポートされていません。 |
WS_ANY_ATTRIBUTES_FIELD_MAPPING 値: 12 このフィールドは、他の WS_FIELD_MAPPING 値を使用してマップされなかった属性を破棄または格納するために使用されます。 このフィールド マッピングが指定されていない場合、マップされていない属性は逆シリアル化時にエラーを引き起こします。 WS_FIELD_DESCRIPTION の ns フィールドは、許可される属性の名前空間を次のように制限します。
属性を格納するには、WS_ANY_ATTRIBUTES_TYPE を使用する必要があります。 これは、次のように WS_ANY_ATTRIBUTES に対応します。
マップされていない属性を破棄するには、WS_VOID_TYPE を使用する必要があります。 この場合、構造ではフィールドは必要ありません。 詳細については、WS_VOID_TYPE を参照してください。 このマッピングでは、WS_DEFAULT_VALUEの指定はサポートされていません。 |
備考
WS_FIELD_MAPPING は、XML コンテンツのさまざまな部分が構造体のフィールドにどのようにマップされるかを示します。 たとえば、WS_ELEMENT_FIELD_MAPPING を使用して子要素の値をマップし、WS_ATTRIBUTE_FIELD_MAPPING を使用して属性をマップできます。 明示的にマップされていない XML コンテンツを読み取ると、XML が逆シリアル化されるときに
WS_STRUCT_DESCRIPTION 内の WS_FIELD_DESCRIPTION の順序は、WS_FIELD_DESCRIPTIONの WS_FIELD_MAPPING 値によって決まります。 順序の詳細については、WS_STRUCT_DESCRIPTION を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
ヘッダー | webservices.h |