WS_FIELD_MAPPING-Aufzählung (webservices.h)
Gibt an, wie ein Feld einer Struktur in XML dargestellt wird. Dies wird in einem WS_FIELD_DESCRIPTIONverwendet.
Syntax
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;
Konstanten
WS_TYPE_ATTRIBUTE_FIELD_MAPPING Wert: 0 Das Feld entspricht dem XML-Typ-Attribut (xsi:type). Dies kann nur mit WS_DESCRIPTION_TYPEverwendet werden.
Diese Zuordnung unterstützt die Angabe einer WS_DEFAULT_VALUEnicht. |
WS_ATTRIBUTE_FIELD_MAPPING Wert: 1 Das Feld entspricht einem einzelnen Attribut. Die localName/ns des Felds werden als XML-Attributname und -Namespace verwendet. Sofern nicht angegeben, muss das Attribut im XML-Code angezeigt werden. Wenn WS_FIELD_OPTIONAL angegeben ist, muss das Attribut nicht im XML-Code angezeigt werden. Wenn optional und nicht vorhanden, wird das Feld auf das WS_DEFAULT_VALUEoder null festgelegt, wenn der Standardwert nicht angegeben ist.
Um das Attribut zu verwerfen, sollte ein WS_VOID_TYPE verwendet werden. In diesem Fall ist ein Feld in der Struktur nicht erforderlich. Weitere Informationen finden Sie unter WS_VOID_TYPE. |
WS_ELEMENT_FIELD_MAPPING Wert: 2 Das Feld entspricht einem einzelnen Element. Der localName/ns des Felds wird als XML-Elementname und -Namespace verwendet. Sofern nicht angegeben, muss das Element im XML-Code angezeigt werden. Wenn WS_FIELD_OPTIONAL angegeben ist, muss das Element nicht im XML-Code angezeigt werden. Wenn optional und nicht vorhanden, wird das Feld auf das WS_DEFAULT_VALUEoder null festgelegt, wenn der Standardwert nicht angegeben ist.
Um das Element zu verwerfen, sollte ein WS_VOID_TYPE verwendet werden. In diesem Fall ist ein Feld in der Struktur nicht erforderlich. Weitere Informationen finden Sie unter WS_VOID_TYPE. |
WS_REPEATING_ELEMENT_FIELD_MAPPING Wert: 3 Das Feld entspricht einem wiederholten Satz von Elementen. Der localName/ns des Felds wird als XML-Elementname und -Namespace für das Wrapperelement verwendet (das Element, das das übergeordnete Element der wiederholten Elemente ist). Wenn kein Wrapperelement gewünscht wird, sollten beide localName/ns NULL-sein. Wenn ein Wrapperelement angegeben wurde, muss das Wrapperelement im XML-Code angezeigt werden, wenn die Anzahl wiederholter Elemente nicht 0 ist. Für diese Feldzuordnung kann kein WS_DEFAULT_VALUE angegeben werden. Die itemLocalName- und itemNs werden als XML-Elementname und -Namespace für das wiederholte Element verwendet.
Die Anzahl der Elemente im deserialisierten Array kann eingeschränkt werden, indem eine nicht-NULL-WS_ITEM_RANGE Struktur angegeben wird, die Teil der WS_FIELD_DESCRIPTIONist. |
WS_TEXT_FIELD_MAPPING Wert: 4 Das Feld entspricht dem gesamten Zeicheninhalt des Elements. Wenn diese Zuordnung verwendet wird, sind untergeordnete Elemente nicht zulässig. Diese Zuordnung wird häufig in Verbindung mit WS_ATTRIBUTE_FIELD_MAPPING verwendet, um eine Struktur zu definieren, die einem Element zugeordnet ist, das Text und Attribute enthält (jedoch keine untergeordneten Elemente).
Diese Zuordnung unterstützt die Angabe einer WS_DEFAULT_VALUEnicht. |
WS_NO_FIELD_MAPPING Wert: 5 Das Feld wird weder serialisiert noch deserialisiert. Das Feld wird beim Serialisieren ignoriert und beim Deserialisieren auf den Standardwert initialisiert. Wenn das Feld einem der vorhandenen Typen zugeordnet ist (z. B. WS_INT32_TYPE), kann der Typ angegeben werden. Wenn der Typ des Felds nicht eines der vorhandenen Typen ist, können WS_VOID_TYPE verwendet werden, um ein Feld eines beliebigen Typs und einer beliebigen Größe anzugeben. Ein WS_DEFAULT_VALUE kann angegeben werden, um den Wert anzugeben, an den das Feld initialisiert werden soll, wenn das Feld deserialisiert wird. Wenn kein Standardwert angegeben ist, wird das Feld auf Null initialisiert. Die Feldzuordnung kann nur mit WS_FIELD_OPTIONS Wert 0 verwendet werden.
|
WS_XML_ATTRIBUTE_FIELD_MAPPING Wert: 6 Das Feld entspricht einem reservierten XML-Attribut (z. B. xml:lang). Der localName des Felds wird verwendet, um den XML-Attributnamen zu identifizieren. Sofern WS_FIELD_OPTIONAL nicht angegeben ist, muss das Attribut im XML-Code angezeigt werden. Wenn WS_FIELD_OPTIONAL angegeben ist, muss das Attribut nicht im XML-Code angezeigt werden. Wenn optional und nicht vorhanden, wird das Feld auf das WS_DEFAULT_VALUEoder null festgelegt, wenn der Standardwert nicht angegeben ist.
|
WS_ELEMENT_CHOICE_FIELD_MAPPING Wert: 7 Das Feld entspricht einer Auswahl zwischen einer Reihe möglicher Elemente. Jedes Element ist einem der Felder einer Vereinigung zugeordnet. Jedes Feld der Union weist einen entsprechenden Enumerationswert auf, der verwendet wird, um die aktuelle Auswahl zu identifizieren.
Diese Feldzuordnung muss mit WS_UNION_TYPEverwendet werden. Die Namen und Namespaces der Elementauswahl werden im WS_UNION_DESCRIPTIONangegeben. Der localName und ns des Felds sollten NULL-sein. Sofern WS_FIELD_OPTIONAL nicht angegeben ist, muss eines der Elemente im XML-Code angezeigt werden. Wenn WS_FIELD_OPTIONAL angegeben ist, müssen keine Elemente im XML-Code angezeigt werden. Wenn optional und keines der Elemente vorhanden ist, wird der Selektorwert des Felds auf den keinen Wert der Enumeration festgelegt (wie im Feld "noneEnumValue" des WS_UNION_DESCRIPTIONangegeben). Aufgrund der Tatsache, dass der nonEnumValue als Standardwert verwendet wird, unterstützt dieser Zuordnungswert die Angabe eines WS_DEFAULT_VALUEnicht.
Das Feld entspricht einer Auswahl zwischen einer Reihe möglicher Elemente. Jedes Element ist einem der Felder einer Vereinigung zugeordnet. Jedes Feld der Union weist einen entsprechenden Enumerationswert auf, der verwendet wird, um die aktuelle Auswahl zu identifizieren.
Diese Feldzuordnung muss mit WS_UNION_TYPEverwendet werden. Die Namen und Namespaces der Elementauswahl werden im WS_UNION_DESCRIPTIONangegeben. Der localName und ns des Felds sollten NULL-sein. Sofern WS_FIELD_OPTIONAL nicht angegeben ist, muss eines der Elemente im XML-Code angezeigt werden. Wenn WS_FIELD_OPTIONAL angegeben ist, müssen keine Elemente im XML-Code angezeigt werden. Wenn optional und keines der Elemente vorhanden ist, wird der Selektorwert des Felds auf den keinen Wert der Enumeration festgelegt (wie im Feld "noneEnumValue" des WS_UNION_DESCRIPTIONangegeben). Aufgrund der Tatsache, dass der nonEnumValue als Standardwert verwendet wird, unterstützt dieser Zuordnungswert die Angabe eines WS_DEFAULT_VALUEnicht.
Der Selektorwert gibt an, welche Felder der Union festgelegt sind. Andere Felder werden nicht initialisiert, wenn der Wert deserialisiert wird. Eine Anwendung sollte immer den Selektorwert konsultieren, um zu überprüfen, ob auf ein Feld der Vereinigung zugegriffen werden kann. |
WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING Wert: 8 Das Feld entspricht einem wiederholten Satz von Elementoptionen. Jedes Element wird durch eine Vereinigung mit Selektorwert dargestellt. Diese Zuordnung muss mit WS_UNION_TYPEverwendet werden. Der localName/ns des Felds wird als XML-Elementname und -Namespace für das Wrapperelement verwendet (das Element, das das übergeordnete Element der wiederholten Elemente ist). Wenn kein Wrapperelement gewünscht wird, sollten beide localName/ns NULL-sein. Wenn ein Wrapperelement angegeben wurde, muss das Wrapperelement im XML-Code angezeigt werden, wenn die Anzahl wiederholter Elemente nicht 0 ist. Für diese Feldzuordnung kann kein WS_DEFAULT_VALUE angegeben werden. Die Felder "itemLocalName" und "itemNs" müssen NULL-sein. Der NAME und namespace des XML-Elements werden im WS_UNION_DESCRIPTIONdefiniert.
Die Anzahl der Elemente im deserialisierten Array kann eingeschränkt werden, indem eine nicht-NULL-WS_ITEM_RANGE Struktur angegeben wird, die Teil der WS_FIELD_DESCRIPTIONist. |
WS_ANY_ELEMENT_FIELD_MAPPING Wert: 9 TBD |
WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING Wert: 10 Das Feld wird verwendet, um eine Abfolge von Elementen mit einem beliebigen Namen und Namespace zu verwerfen oder zu speichern. Um die Elemente zu speichern, sollte ein WS_XML_BUFFER_TYPE verwendet werden. Dies entspricht einem Array von WS_XML_BUFFERs, wie folgt:
Um die Elemente zu verwerfen, sollte ein WS_VOID_TYPE verwendet werden. In diesem Fall ist ein Feld in der Struktur nicht erforderlich. Weitere Informationen finden Sie unter WS_VOID_TYPE. Die Anzahl der elemente, die während der Deserialisierung zulässig sind, kann durch Angabe einer nicht-NULL-WS_ITEM_RANGE Struktur eingeschränkt werden, die Teil der WS_FIELD_DESCRIPTIONist. Diese Zuordnung unterstützt die Angabe einer WS_DEFAULT_VALUEnicht. |
WS_ANY_CONTENT_FIELD_MAPPING Wert: 11 Das Feld wird verwendet, um verbleibende Inhalte (beliebige Mischung aus Text oder Elementen) zu verwerfen oder zu speichern, die vor dem Ende eines Elements auftreten. Um die Elemente zu speichern, sollte eine WS_XML_BUFFER_TYPE wie folgt verwendet werden:
Um die Elemente zu verwerfen, sollte ein WS_VOID_TYPE verwendet werden. In diesem Fall ist ein Feld in der Struktur nicht erforderlich. Weitere Informationen finden Sie unter WS_VOID_TYPE. Diese Zuordnung unterstützt die Angabe einer WS_DEFAULT_VALUEnicht. |
WS_ANY_ATTRIBUTES_FIELD_MAPPING Wert: 12 Das Feld wird verwendet, um Attribute zu verwerfen oder zu speichern, die nicht mit anderen WS_FIELD_MAPPING Werten zugeordnet wurden. Wenn diese Feldzuordnung nicht angegeben ist, verursacht nicht zugeordnete Attribute beim Deserialisieren einen Fehler. Das Namensfeld der WS_FIELD_DESCRIPTION muss NULL-sein. Das Feld "ns" der WS_FIELD_DESCRIPTION schränkt den Namespace der zulässigen Attribute wie folgt ein:
Um die Attribute zu speichern, sollte WS_ANY_ATTRIBUTES_TYPE verwendet werden. Dies entspricht WS_ANY_ATTRIBUTES wie folgt:
Um die nicht zugeordneten Attribute zu verwerfen, sollte ein WS_VOID_TYPE verwendet werden. In diesem Fall ist ein Feld in der Struktur nicht erforderlich. Weitere Informationen finden Sie unter WS_VOID_TYPE. Diese Zuordnung unterstützt die Angabe einer WS_DEFAULT_VALUEnicht. |
Bemerkungen
Die WS_FIELD_MAPPING gibt an, wie verschiedene Teile des XML-Inhalts den Feldern einer Struktur zugeordnet werden. Beispielsweise können WS_ELEMENT_FIELD_MAPPING verwendet werden, um den Wert eines untergeordneten Elements zuzuordnen, und WS_ATTRIBUTE_FIELD_MAPPING können zum Zuordnen eines Attributs verwendet werden. Alle XML-Inhalte, die gelesen werden, die nicht explizit zugeordnet sind, führen dazu, dass WS_E_INVALID_FORMAT zurückgegeben werden, wenn der XML-Code deserialisiert wird (siehe Windows-Webdienste Gibt Wertezurück.)
Die Reihenfolge der WS_FIELD_DESCRIPTION innerhalb eines WS_STRUCT_DESCRIPTION wird durch den WS_FIELD_MAPPING Wert des WS_FIELD_DESCRIPTIONbestimmt. Weitere Informationen zur Bestellung finden Sie unter WS_STRUCT_DESCRIPTION.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 7 [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2008 R2 [nur Desktop-Apps] |
Header- | webservices.h |