2.1.1 Record
Each record is encoded as follows.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RecordType |
Record (variable) |
||||||||||||||||||||||||||||||
... |
RecordType (1 byte): A single byte that identifies the type of record.
Record (variable): Dependent upon RecordType.
The following table shows the mapping for each RecordType. The RecordType MUST be one of the values listed in this table. The format for each record is further detailed after the table.
RecordType |
Record |
---|---|
0x00 |
Reserved |
0x01 |
EndElement |
0x02 |
Comment |
0x03 |
Array |
0x04 |
ShortAttribute |
0x05 |
Attribute |
0x06 |
ShortDictionaryAttribute |
0x07 |
DictionaryAttribute |
0x08 |
ShortXmlnsAttribute |
0x09 |
XmlnsAttribute |
0x0A |
ShortDictionaryXmlnsAttribute |
0x0B |
DictionaryXmlnsAttribute |
0x0C 0x0D ... 0x24 0x25 |
PrefixDictionaryAttributeA PrefixDictionaryAttributeB ... PrefixDictionaryAttributeY PrefixDictionaryAttributeZ |
0x26 0x27 ... 0x3E 0x3F |
PrefixAttributeA PrefixAttributeB ... PrefixAttributeY PrefixAttributeZ |
0x40 |
ShortElement |
0x41 |
Element |
0x42 |
ShortDictionaryElement |
0x43 |
DictionaryElement |
0x44 0x45 ... 0x5C 0x5D |
PrefixDictionaryElementA PrefixDictionaryElementB ... PrefixDictionaryElementY PrefixDictionaryElementZ |
0x5E 0x5F ... 0x76 0x77 |
PrefixElementA PrefixElementB ... PrefixElementY PrefixElementZ |
0x78 0x79 … 0x7E 0x7F |
Reserved |
0x80 |
ZeroText |
0x81 |
ZeroTextWithEndElement |
0x82 |
OneText |
0x83 |
OneTextWithEndElement |
0x84 |
FalseText |
0x85 |
FalseTextWithEndElement |
0x86 |
TrueText |
0x87 |
TrueTextWithEndElement |
0x88 |
Int8Text |
0x89 |
Int8TextWithEndElement |
0x8A |
Int16Text |
0x8B |
Int16TextWithEndElement |
0x8C |
Int32Text |
0x8D |
Int32TextWithEndElement |
0x8E |
Int64Text |
0x8F |
Int64TextWithEndElement |
0x90 |
FloatText |
0x91 |
FloatTextWithEndElement |
0x92 |
DoubleText |
0x93 |
DoubleTextWithEndElement |
0x94 |
DecimalText |
0x95 |
DecimalTextWithEndElement |
0x96 |
DateTimeText |
0x97 |
DateTimeTextWithEndElement |
0x98 |
Chars8Text |
0x99 |
Chars8TextWithEndElement |
0x9A |
Chars16Text |
0x9B |
Chars16TextWithEndElement |
0x9C |
Chars32Text |
0x9D |
Chars32TextWithEndElement |
0x9E |
Bytes8Text |
0x9F |
Bytes8TextWithEndElement |
0xA0 |
Bytes16Text |
0xA1 |
Bytes16TextWithEndElement |
0xA2 |
Bytes32Text |
0xA3 |
Bytes32TextWithEndElement |
0xA4 |
StartListText |
0xA5 |
Reserved |
0xA6 |
EndListText |
0xA7 |
Reserved |
0xA8 |
EmptyText |
0xA9 |
EmptyTextWithEndElement |
0xAA |
DictionaryText |
0xAB |
DictionaryTextWithEndElement |
0xAC |
UniqueIdText |
0xAD |
UniqueIdTextWithEndElement |
0xAE |
TimeSpanText |
0xAF |
TimeSpanTextWithEndElement |
0xB0 |
UuidText |
0xB1 |
UuidTextWithEndElement |
0xB2 |
UInt64Text |
0xB3 |
UInt64TextWithEndElement |
0xB4 |
BoolText |
0xB5 |
BoolTextWithEndElement |
0xB6 |
UnicodeChars8Text |
0xB7 |
UnicodeChars8Text WithEndElement |
0xB8 |
UnicodeChars16Text |
0xB9 |
UnicodeChars16TextWithEndElement |
0xBA |
UnicodeChars32Text |
0xBB |
UnicodeChars32TextWithEndElement |
0xBC |
QNameDictionaryText |
0xBD |
QNameDictionaryTextWithEndElement |
0xBE 0xBF … 0xFE 0xFF |
Reserved |