2.2.1 Report

The Report record is the root record of the RPL Stream and specifies the content of the stream. There MUST be one and only one record of this type in the stream.

 Report = RPLStamp Version reportStart ReportProperties *PageContent OffsetsArrayElement ReportElementEnd Version


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

RPLStamp (variable)

...

version

...

reportStart

properties (variable)

...

pages (variable)

...

offsetsArrayElement (variable)

...

reportElementEnd

...

...

version

...

RPLStamp (variable): A String that specifies the type of the stream. The value of the RPLStamp field MUST be "RPLIF".<2>

version (6 bytes): A Version record that specifies the version of RPL used to generate the RPL stream. The value of this Version record MUST be the same as the subsequent Version record in the stream.

reportStart (1 byte): A byte that specifies the start of the Report record content. The value of the reportStart field MUST be 0x00.

properties (variable): A ReportProperties record that specifies the properties that are applicable to the Report record.

pages (variable): An array of PageContent records. The number of elements in the array MUST be equal to the value of the count field of the OffsetsArrayElement record specified by the offsetsArrayElement field.

offsetsArrayElement (variable): An OffsetsArrayElement record that specifies the position of pages in the RPL stream.

reportElementEnd (10 bytes): A ReportElementEnd record that marks the end of the Report record. The offset field of the ReportElementEnd record MUST specify the position of the offsetsArrayElement field of the Report record in the RPL stream.

version (6 bytes): A Version record that specifies the version of RPL used to generate the RPL stream. The value of this Version record MUST be the same as the previous Version record in the stream.