2.1.1 RPL Stream

This document specifies the structures and format required to create an RPL stream. The RPL stream MUST have only one Report record and the stream MUST be written as a series of binary records that preserve the report hierarchy.

The left and top properties of an item are relative to a parent. Report item measurements are saved at the parent level. The stream has a built-in offset-based hierarchy that allows a reader to jump from a parent to a child and read the rendering runtime sizes without having to read all the properties. All offsets are stored on 8 bytes. To optimize space, some structures are shared between report items so they will be written only once. All numeric values are declared as Int32 unless otherwise specified. Datetime values are written as Long values.

This document uses Augmented Backus-Naur Form (ABNF) as specified in [RFC5234] to specify the sequence for RPL records.

This document uses information from Report Definition Language (RDL) as described in [MS-RDL] to describe the RPL records.