2.1.1 Record

Each record is encoded as follows.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

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