Sdílet prostřednictvím


Bajtové kódy TYPU XML WSDAPI

Tyto bajtové kódy používají WSDAPI k analýze a generování XML pomocí bajtů tabulek, které popisují složité typy.

Tabulka bajtového kódu pro typ vyjadřuje binární (v paměti) i XML (on-the-wire) reprezentace typu. Tabulka bajtového kódu se skládá ze seznamu operací ukončených speciální operací, konkrétně OpEndOfTable. Operace se skládá z jednoho bajtového kódu operace následovaného nulou nebo více bajty dat argumentů.

Bajtové kódy Popis
OpNone Odpovídá ničemu.
OpEndOfTable Označuje konec tabulky bajtového kódu.
OpBeginElement (název) Odpovídá počátečnímu tokenu elementu se zadaným názvem. Název se zobrazí v tabulce ve 4bajtů kódovaném formuláři. OnBeginElement začíná klauzulí, která končí odpovídající opEndElement. Mezi OpBeginElement a jeho odpovídajícími OpEndElement musí být uvedena žádná nebo více úplných klauzulí.
OpBeginAnyElement Odpovídá počátečnímu tokenu elementu s libovolným názvem. OnBeginAnyElement začíná klauzulí, která končí odpovídající opEndElement. Mezi OpBeginAnyElement a odpovídajícími OpEndElement musí být uvedena žádná nebo více úplných klauzulí.
OpEndElement Ukončí klauzuli zahájenou s OpBeginElement nebo OpBeginAnyElement.
OpElement (název) Odpovídá celému prvku se zadaným názvem. Název se zobrazí v tabulce ve 4bajtů kódovaném formuláři.
OpAnyElement Odpovídá celému prvku s libovolným názvem.
OpAnyElements Odpovídá libovolnému počtu prvků s libovolnými názvy.
OpAnyText Odpovídá textovému tokenu.
OpAttribute (název) Odpovídá tokenu popisku atributu se zadaným názvem. OpAttribute spustí klauzuli, která obsahuje následující klauzuli v tabulce. Následující klauzule se používá ke shodě hodnoty části atributu. Klauzule OpAttribute se vždy zobrazují po operacích OpBeginElement nebo OpBeginAnyElement nebo po jiné klauzuli OpAttribute.
OpBeginChoice OpBeginChoice spustí klauzuli, která končí odpovídající opEndChoice. Mezi OpBeginChoice a odpovídajícími opEndChoicemi musí být uvedena nula nebo více úplných klauzulí. Vnější klauzule odpovídá tokenům, které odpovídají libovolné vnitřní klauzuli. Všechny vnitřní klauzule musí začínat OpBeginElement s tím rozdílem, že poslední klauzule může být OpAnything. Tento konstruktor odpovídá částice volby XSD.
OpEndChoice Ukončí klauzuli zahájenou s OpBeginChoice.
OpBeginSequence OpBeginSequence spustí klauzuli, která končí odpovídající opEndSequence. Mezi opBeginSequence a OpEndSequence musí být uvedena žádná nebo více úplných klauzulí. Vnější klauzule odpovídá tokenům, které odpovídají všem vnitřním klauzulím v posloupnosti. Tento konstruktor odpovídá sekvenci XSD částice.
OpEndSequence Ukončí klauzuli spuštěnou s OpBeginSequence.
OpBeginAll OpBeginAll spustí klauzuli, která končí odpovídající opEndAll. Mezi OpBeginAll a OpEndAll musí být zobrazeny žádné nebo více úplných klauzulí. Vnější klauzule odpovídá tokenům, které odpovídají vnitřním klauzulím v libovolné sekvenci. Operátory výskytu týkající se každé vnitřní klauzule označují, kolikrát může dojít k tokenům pro každou klauzuli. Výchozí hodnota je jednou. Více výskytů zadané klauzule může být intermixováno s výskyty jiných vnitřních klauzulí. Všechny vnitřní klauzule musí začínat OpBeginElement s tím rozdílem, že poslední klauzule může být OpAnything. Tento konstruktor odpovídá XSD všechny částice.
OpEndAll Ukončí klauzuli zahájenou s OpBeginAll.
OpAnything Odpovídá libovolnému počtu prvků a textových tokenů.
OpAnyNumber Označuje, že následující klauzule může nastat libovolný počet. OpAnyNumber spustí klauzuli, která končí na konci následující klauzule.
OpOneOrMore Označuje, že následující klauzule může nastat jednou nebo vícekrát. OpOneOrMore spustí klauzuli, která končí na konci následující klauzule.
OpOptional Označuje, že následující klauzule může nastat nulou nebo jednou. OpOptional spustí klauzuli, která končí na konci následující klauzule.
OpFormatInt8 (typ, pole) Odpovídá 8bitovému podepsanému celočíselnému číslu v textovém tokenu. Argument posunu 4 bajtů označuje posun binární reprezentace v aktuálním binárním kontextu. Makro OpFormatInt8 vypočítá posun zadaného pole v zadaném typu a poskytuje posun, který se odsadí jako argument.
OpFormatInt16 (typ, pole) Odpovídá 16bitovému signed integeru. Argument posunu 4 bajtů označuje posun binární reprezentace v aktuálním binárním kontextu. Makro OpFormatInt16 vypočítá posun zadaného pole v zadaném typu a dodává tento posun jako argument.
OpFormatInt32 (typ,pole) Odpovídá 32bitovému signed integeru v textovém tokenu. Argument posunu 4 bajtů označuje posun binární reprezentace v aktuálním binárním kontextu. Makro OpFormatInt32 vypočítá posun zadaného pole v zadaném typu a poskytuje posun jako argument.
OpFormatInt64 (typ, pole) Odpovídá 64bitovému signed integeru v textovém tokenu. Argument posunu 4 bajtů označuje posun binární reprezentace v aktuálním binárním kontextu. Makro OpFormatInt64 vypočítá posun zadaného pole v zadaném typu a poskytuje posun jako argument.
OpFormatUInt8 (typ, pole) Porovná 8bitové celé číslo bez znaménka v textovém tokenu. Argument posunu 4 bajtů označuje posun binární reprezentace v aktuálním binárním kontextu. Makro OpFormatUInt8 vypočítá posun zadaného pole v zadaném typu a poskytuje posun jako argument.
OpFormatUInt16 (typ, pole) Porovná 16bitové celé číslo bez znaménka v textovém tokenu. Argument posunu 4 bajtů označuje posun binární reprezentace v aktuálním binárním kontextu. Makro OpFormatUInt16 vypočítá posun zadaného pole v zadaném typu a poskytuje posun, který se odsadí jako argument.
OpFormatUInt32 (typ, pole) Porovná 32bitové celé číslo bez znaménka v textovém tokenu. Argument posunu 4 bajtů označuje posun binární reprezentace v aktuálním binárním kontextu. Makro OpFormatUInt32 vypočítá posun zadaného pole v zadaném typu a poskytuje posun, který se odsadí jako argument.
OpFormatUInt64 (typ, pole) Odpovídá 64bitovému celočíselnému znaménka v textovém tokenu. Argument posunu 4 bajtů označuje posun binární reprezentace v aktuálním binárním kontextu. Makro OpFormatUInt64 vypočítá posun zadaného pole v zadaném typu a poskytuje posun, který je posunem jako argument.
OpFormatUnicodeString (typ, pole) Odpovídá řetězci, který se skládá z celé hodnoty textového tokenu. Argument posunu 4 bajtů označuje posun, kde se ukazatel na řetězec zobrazí v aktuálním binárním kontextu. Makro OpFormatUnicodeString vypočítá posun zadaného pole v zadaném typu a dodává tento posun jako argument.
OpFormatDom (typ,pole) Označuje, že všechny XML odpovídající následující klauzuli jsou reprezentovány v binární podobě jako DOM (seznam WSDXML_NODE struktur). OpFormatDom spustí klauzuli, která se ukončí na konci následující klauzule. Argument posunu 4 bajtů označuje posun, kde se ukazatel na první WSDXML_NODE zobrazí v aktuálním binárním kontextu. Makro OpFormatDom vypočítá posun zadaného pole v zadaném typu a poskytuje posun, který se odsadí jako argument.
OpFormatStruct (structType,type,field) Označuje, že binární kontext pro následující klauzuli je struktura odkazovaná aktuálním binárním kontextem. OpFormatStruct spustí klauzuli, která končí na konci následné klauzule. První ze dvou 4bajtů argumentů označuje velikost struktury. Druhý argument označuje posun, kde se ukazatel na strukturu zobrazí v aktuálním binárním kontextu. Makro OpFormatStruct vypočítá velikost označeného typu struktury (structType) a zadá velikost jako první argument. Makro vypočítá posun zadaného pole v zadaném typu a dodává tento posun jako druhý argument.
OpFormatUri (typ, pole) Odpovídá identifikátoru URI v textovém tokenu. 4bajtů posun argument označuje posun, kde ukazatel na řetězec identifikátoru URI se zobrazí v aktuálním binárním kontextu. Makro OpFormatUri vypočítá posun zadaného pole v zadaném typu a dodává tento posun jako argument.
OpFormatUuidUri (typ, pole) Odpovídá identifikátoru URI protokolu UUID v textovém tokenu. 4bajtů posun argument označuje posun, kde identifikátor URI ve formuláři struktury GUID se zobrazí v aktuálním binárním kontextu. Makro OpFormatUuidUri vypočítá posun zadaného pole v zadaném typu a dodává tento posun jako argument.
OpFormatName (typ,pole) Odpovídá kvalifikovanému názvu v textovém tokenu. Argument posunu 4 bajtů označuje posun, kde se v aktuálním binárním kontextu zobrazí ukazatel na kvalifikovaný název (struktura WSDXML_NAME). Makro OpFormatName vypočítá posun zadaného pole v zadaném typu a poskytuje posun, který se odsadí jako argument.
OpFormatListInsertTail (nodeType,type,field) Označuje, že binární kontexty pro všechny výskyty následující klauzule jsou struktury v ingly propojeném seznamu odkazovaném aktuálním binárním kontextem. OpFormatListInsertTail spustí klauzuli, která se ukončí na konci následné klauzule. První ze dvou 4bajtů argumentů označuje velikost struktur. Druhý argument označuje posun, kde se ukazatel na strukturu zobrazí v aktuálním binárním kontextu. Ukazatel "další", který propojuje struktury do seznamu, je vždy prvním polem ve strukturách. Makro OpFormatListInsertTail vypočítá velikost označeného typu struktury (nodeType) a zadá velikost jako první argument. Makro vypočítá posun zadaného pole v zadaném typu a dodává tento posun jako druhý argument.
OpFormatType (typetable,type,field) Odpovídá tokenům, které odpovídají uvedené tabulce typů, a označuje, že binární kontext pro danou tabulku je vložen do aktuálního binárního kontextu na určeném posunu. První ze dvou 4bajtů argumentů je kódovaný odkaz na tabulku typů. Druhým argumentem je posun. Makro OpFormatType vypočítá posun zadaného pole v zadaném typu a poskytuje posun, který se odsadí jako argument.
OpFormatDynamicType (název,typ,pole) Odpovídá tokenům, které odpovídají tabulce typů získané dynamicky pomocí uvedeného názvu, a označuje, že binární kontext pro danou tabulku je vložen do aktuálního binárního kontextu na určeném posunu. První ze dvou 4bajtů argumentů je název, který identifikuje tabulku typu. Tento název se obvykle zadává ve formě řetězce s jedním uvozováním, například "body", který vytvoří 4 bajtovou hodnotu. Druhým argumentem je posun. Makro OpFormatDynamicType vypočítá posun zadaného pole v zadaném typu a dodává tento posun jako argument.
OpFormatLookupType (urifield, type,field) Odpovídá tokenům, které odpovídají tabulce typů identifikované identifikátorem URI na určeném posunu v aktuálním binárním kontextu, a označuje, že binární kontext pro danou tabulku je vložen do aktuálního binárního kontextu na určeném posunu. První ze dvou 4bajtů argumentů je posun identifikátoru URI typu v aktuálním binárním kontextu. Druhým argumentem je posun nového binárního kontextu. Makro OpFormatLookupType vypočítá posun zadaného pole v zadaném typu a dodává tento posun jako argument.
OpProcess(typ,pole) Označí odkazované pole příznakem jako vyžadování dalšího zpracování během generování a parsování fází. Používá se pro složitá pole, která nelze automaticky zpracovat.