2.2.1.12.2 Storage Index Data Element

A Storage Index data element has the following format.

When serializing a Storage Index data element, there is no sequence for Storage Index Manifest Mapping, Storage Index Cell Mapping, and Storage Index Revision Mapping.

Additionally, the Storage Index contains a set of mappings, and each mapping is assigned a serial number that is unique to that mapping. The Storage Index exists for the purpose of transmission only and will not be stored on the server after it is processed. The client SHOULD add these mapping serial numbers to its serial number knowledge, just as it SHOULD add data element serial numbers to the serial number knowledge.


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

Data Element Start

Data Element Extended GUID

...

...

...

Serial Number (variable)

...

...

...

Data Element Type (variable)

...

...

...

Storage Index Manifest Mapping (optional)

Manifest Mapping Extended GUID (variable, optional)

...

...

...

Manifest Mapping Serial Number (variable, optional)

...

...

...

Storage Index Cell Mapping (optional)

Cell ID (variable, optional)

...

...

...

Cell Mapping Extended GUID (variable, optional)

...

...

...

Cell Mapping Serial Number (variable, optional)

...

...

...

Storage Index Revision Mapping (optional)

Revision Extended GUID (variable, optional)

...

...

...

Revision Mapping Extended GUID (variable, optional)

...

...

...

Revision Mapping Serial Number (variable, optional)

...

...

...

Data Element End

Data Element Start (2 bytes): A 16-bit Stream Object Header (section 2.2.1.5.1) that specifies a data element start.

Data Element Extended GUID (variable): An Extended GUID (section 2.2.1.7) that specifies the data element.

Serial Number (variable): A Serial Number (section 2.2.1.9) that specifies the data element.

Data Element Type (variable): A compact unsigned 64-bit integer (section 2.2.1.1) that specifies the value of the Storage Index data element type.

Storage Index Manifest Mapping (2 bytes, optional): Zero or one 16-bit Stream Object Header that specifies the Storage Index Manifest Mappings (with Manifest Mapping Extended GUID and Serial Number).

Manifest Mapping Extended GUID (variable, optional): An Extended GUID that specifies the Manifest Mapping.

Manifest Mapping Serial Number (variable, optional): A Serial Number that specifies the Manifest Mapping.

Storage Index Cell Mapping (2 bytes, optional): Zero or more 16-bit Stream Object Header that specifies the Storage Index Cell Mappings (with cell identifier, Cell Mapping Extended GUID, and Cell Mapping Serial Number).

Cell ID (variable, optional): A Cell ID (section 2.2.1.10) that specifies the cell identifier.

Cell Mapping Extended GUID (variable, optional): An Extended GUID that specifies the Cell Mapping.

Cell Mapping Serial Number (variable, optional): A Serial Number that specifies the Cell Mapping.

Storage Index Revision Mapping (2 bytes, optional): Zero or more 16-bit Stream Object Headers that specify the Storage Index Revision Mappings (with revision and Revision Mapping Extended GUIDs, and Revision Mapping Serial Number).

Revision Extended GUID (variable, optional): An Extended GUID that specifies the revision.

Revision Mapping Extended GUID (variable, optional): An Extended GUID that specifies the Revision Mapping.

Revision Mapping Serial Number (variable, optional): A Serial Number that specifies the Revision Mapping.

Data Element End (1 byte): An 8-bit Stream Object Header (section 2.2.1.5.3) that specifies a data element end.