All singleton elements that have the same refQuery attribute in the layout will share the same QRD. The data item references within the singleton will be projected as details in the QRD. Only the first row of the result set will be used when rendering the singleton.Similar to the repeater element, the singleton element renders no structure (i.e. no HTML is rendered for it). A Block represents a set of elements in a layout. It behaves similarly to a div or paragraph in HTML and MS Word. It follows the HTML definition of a div element. Equivalenet to an HTML TABLE. Equivalent to an HTML TR. Equivalent to an HTML TD. Count of columns the cell should span This property will control whether the table will repeat the rendering for the previous rows when it is broken across pages. Determines whether the cell contents of a table row are allowed to break between pages. This option only applies to PDF output. This element is used to render text in the layout. The text to render is determined by the data source of the element. The maximum number of characters that should be rendered. Default: Render all characters. This attribute affects the rendering of textItems that occur on a page but not inside of a list or repeater frame and if the page and list query context are the same. If the value is true it will render the value for the last detail row of the list if the text item occurs in the page footer or the first detail row if it is outside the page footer. If the value is false it will render the value for the current row the page is being rendered for. If this text item is used as a label for a prompt input, set the refLayoutElement attribute to the prompt's name. This will allow server to generate a label for element so that screen reader is able to associate and read out the label for the for prompt input. This element is used to render an image in the layout. The URL for the image is determined by the data source of the element. This element represents an HTML style anchor(hyperlink). The hyperlink dataSource defines the URL to be used for the hyperlink. The hyperlink also is a layout container and has layout elements contained within it. This element represents an HTML style button hyperlink. The hyperlink dataSource defines the URL to be used for the hyperlink. The hyperlink also is a layout container and has layout elements contained within it. This element represents an HTML style button. The button can be used on a prompt page to intiate the navigation from page to page (e.g. next, previous). The prompt button also is a layout container and optionally has layout elements contained within it. Identifies the type of then prompt button. If their are not contents to the prompt button, they type will dictate what text is rendered as the prompt button label. This element is used to render HTML in the layout. The HTML may come from either a static or dynamic source. This element is used to render HTML in the layout. The HTML may come from either a static or dynamic source. The difference between this element and HTMLItem is that a richTextIem will render in PDF whereas an HTMLItem will not. As well, the value for a richTextItem must validate against V5_richText.dtd. A bookmark alllows for linking to a location in the rendered layout. The name of the bookmark is determined by its dataSource. It is the equivalent of a named anchor in HTML. (e.g. ) A fieldSet is the equivalent of a group box in a windows app. This element will conditionally render one block (conditionalBlock) from a set of blocks. Any styling applied to this element will be appied to each conditionalBlock when rendered. The element is used to reference a named layout element from within this report or another report. The layout element will be rendered in its place with no containing structure. If the component referenced is in another report, then this optional element may be used to hold a copy of the referenced component. When rendering, this copy will be used if available. This component allows for design time references versus run time references. Optionally, any named layout element within the layout component being referenced may be overridden with a different layout element. Identifies a map in Metrics Manager (CMM). The cmmID attribute identifies the map in CMM and is used by the server to construct a full CMM request. This element is used to determine the value to use for the asOfTime property in the object model. The value of the first asOfTime encountered during rendering will be used to set the asOfTime preoprety in the BAOM. More... Any report output is a snapshot of data at a particular point in time. Some reports reflect the snapshot of data at the time the report is run. However, most production reports reflect a particular time period, which is often described by the last day of that period; for example, the last day of the month for a monthly report. In that case, even though the August Monthly report is run on September 5 (when all the data have been vetted), the report actually reflects a month-long time period that ends on the last day of August. It is required that the output reflect the last [business] day in August, rather than the actual run date of September 5. This element allows the report author to define the value to be used for the asOfTime report object property, as well as the return value for the asOfDate() and asOfTime() report functions. The value is defined via a report expression, and is most likely derived from a query item or a prompt value. The result of this asOfTime report expression must be date-time. If this element is omitted, the system time at the beginning of report execution will be used. The TOC behaves like a block element except that its contents are generated by the collection of all the TOCEntry instances that reference this TOC that are generated in the redered output after this element. A name that identifies the TOC. The TOCEntry elements will contain a reference to the TOC they belong to. The queryFilterBlock produces a block containing blocks with text describing each filter for the query according to the display parameters. A page set allows for the controlling of the rendering of the pages and/or pageSets it contains. The pages (or child page sets) are rendered according to a grouping structure defined for the page set. Defines the overall group of the page set (i.e. start of data, end of data) Defines the grouping structure of the page set. Defines a group in the page set. Detail pages are rendered within the lowest level grouping of the page set. All detail rows from the page set query within the lowest level grouping are available for rendering. If there are no page groupings, then the detail pages will be rendered for each row of the result set. The detail page may contain layout elements that use the same query as the pageSet. The refQuery attribute of page has the following behavior: If the page contains a list that references the same query as the page, then the page will behave like the list page header in that it will render the value for the first row rendered in the list. The rendering of the list itself will be unaffected by this. If the page does not contain a list that references the same query, then a singleton result set will be generated for the page and only the first row will be used for rendering elements on the page. If the refQuery attribute is defined then the page can have a propertyList, otherwise the propertyList is ignored. The refQuery attribute of page has the following behavior: If the page contains a list that references the same query as the page, then the page will behave like the list page header in that it will render the value for the first row rendered in the list. The rendering of the list itself will be unaffected by this. If the page does not contain a list that references the same query, then a singleton result set will be generated for the page and only the first row will be used for rendering elements on the page. If the refQuery attribute is defined then the page can have a propertyList. Inidicates whether this page has a horizontal page counter. If it does then horizontal pages will increment separately from the main page counter e.g. 1a, 1b, 1c instead of 1, 2, 3 if the page has 3 page breaks horizontally. A booklet item is used to create booklets which are reports that contain other reports. The pages of the referenced report are rendered as if they were part of the page sequence of the containing report. Indicates if the authored prompt pages for the booklet item should be resolved. Identifies how booklet item persisted parameters are used. When set to ignore, the booklet item parameters are ignored. When set to use, all of the booklet item parameters are merged with the booklet parameters. Indicates if the table of contents for the booklet item should be rolluped into booklet. A list is used to present query results in a list fashion. If a listColumnBody in the list contains another frame that uses the same query as this list, then the grouping strucutre of this list will section the inner frame. A frame that uses the same query anywhere else in the list will get its own result set. Defines the columns that are to be rendered for this list. A list column may render the values of 0 or more member sets from the query. There is not a 1 to 1 relationship between a list column and a member set from a query. Defines a list column. Defines the column title of the column. The precedence of styling is: class style, listColumnStyle, listColumnTitleStyle, listColumn, style, conditionalStyles. Defines the column body of the column. Any styling applies to the listColumnBody but also any header/footer cell that spans only this column. The precedence of styling is: class style, listColumnStyle, listColumnBodyStyle, listColumn, style, conditionalStyles. Indicates that the column cells should span the rows of the indicated group. If refDataItem is omitted, then cells should span all rows (i.e. the overall group). Defines a style which is applied individually to all listColumn elements. Defines a style which is applied individually to all listColumnTitle elements. Defines a style which is applied individually to all listColumnBody elements. Defines the grouping structure of the list. This includes the header and footer definitions as well. This element represents a header in the list that will appear on every page rendered. It occurs after the column titles and before the overal group header of the list. This element represents a footer in the list that will appear on every page rendered. It occurs after all details and other footers of the list. Denotes the maximum number of rows to appear on each page. Used to allocate vertical space on a page body between two or more competing frames. Controls height of cells in the frame. When 'minimal', the cell will grow to the minimal height that is required to render the result. When 'stretch', the cell is stretched to cover the height of the entire frame. Default: Minimal. Determines where or whether column titles should be displayed. If displayed, the column titles can appear at the beginning of the list ("startOfList") on each page or only after headings ("startOfDetails"), if headings exist and at the start of the first details on the page using "startOfFirstDetailsOnPage". Column titles can be simulated using headers. To prevent column titles from being displayed, set to "hide". Default: startOfList. Indicates whether or not large text items are allowed to be split across more then one page. A crosstab is used to render the data from a query in a crosstab fashion. A crosstab cannot contain an embedded frame (e.g. list, crosstab, chart or repeater elements) Defines the column members of the crosstab. Defines the row members of the crosstab. Describes the contents of the fact cells of the crosstab. There is only one fact cell definition for the crosstab, regardless of how many measures there are. The class attribute is overridden by a class set on an applied factCellStyle element. The styles are applied in the following order: - style element - factCellStyle from outer level to inner level - conditionaStyle If this element has mutliple class styles applied to it this flag determine whether all of them are applied or only the last one is applied. When true the server will generate one inner cell for the crosstab that spans all of the row and column cell. This cell will have no scope, so the contents cannot contain any data when template="true". This element represents the top left had corner of the crosstab. This element allows for the optional defintion of the cell contents and/or style at a specified row/column intersection. Its definition will be similar to the crosstabFactCell element except the the contents sub-element will be optional instead of required. The crosstabIntersection element can only be defined between the leaf members of each edge, all other definitions will be ignored. Denotes the maximum number of rows to appear on each page. Used to allocate vertical space on a page body between two or more competing frames. Indicates the precedence of whether the row cell styling is applied before or after the column cell styling. Indicates whether or not large text items are allowed to be split across more then one page. The element will generate a table by going through the results of the query. If there is a grouping structure defined, then a table cell will be generated for each instance of the lowest level group. If no grouping structure is defined, then a table cell will be generated for each row. The number of times across (columns) that the frame contents should be rendered. Default: infinite. The number of times down (rows) that the frame contents should be rendered. Default: infinite. When 'lr-tb', the frame will render left to right then top to bottom. When 'tb-lr', frame will render top to bottom then left to right. The element simply repeats it's contents with no wrapping layout strucutre. It iterates through the data in the same manner as repeaterTable does. The element specifies how the report can be bursted if it needs to be bursted. If this element is not specified, then the report cannot be bursted. The burst is controlled by the query indicated. Describes the grouping structure to be used for the burst. A burst will occur for every instance of the lowest level group. Describes what recipients are to recieve each burst. The query that determines the recipients may be the same query as the burst, or it may come from another query in which case it will be a detail of the burst query. Specifies the type of the burst recipient. Identifies the data item to use as a label for each burst. Defines the grouping structure used by the repeater. Defines variables that can be used in the layout for conditional elements (e.g. style, dataSource). This element describes the return values that can be expected from the evaluation of the report variable. This element allows for multiple return values to be grouped and retuned as a single value. This element represents a class style. The name attribute identifies the class name that can be used in the layout. The label is optional, and is only used to show a meaningful name in the UI. This element is used to define the behavior of the queries during drill up and down operations. This element is used to control how this data item will behave during a drill up or down operation. Drill up/down capabilities can be disabled using the disableDrillUp /disableDrillDown properties. A value of false means that the dataItem will and drill if it makes sense. Determine whether this report will allow drill up/down operations. Determine whether this report will allow model based drill through operations. This element is used to link data items across queries for drill up/down operations. Container whos content is rendered when the associated data container has no data. A layout is comprised of pages. These pages are orgainized into pageSets which are rendered in the order they occur. The report pages is made up of a list of pages and pageSets. They are rendered in the order in which they are listed. Describes a node (or nesting group) on an edge. It is defined by one or more members sets and spacers that are unioned together and optionally 1 or more crosstab nodes that will be nested within. Describes a member in the crosstab node. The precedence of styling is as follows: class style, crosstabColumnNodeStyle or crosstabRowNodeStyle, style, conditionalStyles Defines how this node member will be indented in the crosstab. The element allows for the insertion of non-data cells on an edge of a crosstab. The precedence of styling is as follows: class style, crosstabColumnNodeStyle or crosstabRowNodeStyle, style, conditionalStyles rn_internal_4.0 When true the contents of the fact cells for the spacer will be rendered. The crosstabSpacer element will have the scoping of the element at the level before it, if there is no element at the level before then the spacer will have no scope, unless it has no items nested below it, in which case it will be scoped to the defaultMeasure of the crosstab. Describes the crosstab nodes that are nested with this node. The values are as follows: preserve : use this data item in the drill report emptySet : set data item to an empty set replaceItem : replace this data item with children of the parent of the selected drill value. Default for the lowest level on an edge. replaceExpression : replace this data item with the expression children of the selected item. Default for the parent of the lowest level on an edge. The values are as follows: preserve : use this data item in the drill report emptySet : set data item to an empty set replaceItem : replace this data item with children of the parent of the selected drill value. Default for the lowest level on an edge. replaceExpression : replace this data item with the expression children of the selected item. Default for the parent of the lowest level on an edge. changeExpression : set the data item expression to a specific data item. Replace the dataItem expression with a reference to this dataItem. Changes the expression to be a descendant of parent expression with the appropriate depth Parent of the data item at the next lower level. Default for any grandparent (or higher) of the lowest level on an edge. Defines the contents of the container. This element allows for the optional defintion of the cell contents and/or style at a specified row/column intersection. Its definition will be similar to the crosstabFactCell element except the the contents sub-element will be optional instead of required. The factCellStylePrecedence attribute of the crosstab will be used to determine the precedence for both the style and content application of the factCell element. Contains the list of pages (in order) that will be rendered at the start of the group. Only the first row of group of the page set query is available for rendering. Contains the list of pages (in order) that will be rendered at the start of the group. Only the last row of group of the page set query is available for rendering. Uniquely identifies a node member or spacer on an edge of the crosstab. This attribute is used by the crosstabIntersection element to uniquely identify the intersection of elements from each edge. Notes: Sectioning behavior In the V5 report specification, in certain circumstances an element that reference the same query will share one result set. This sharing is done by one element sectioning the other according to where the content is in the parents grouping structure. Sectioing will work as follows: burst, pageSet, list, repeater and repeaterTable elements can be used to section other layout elements using the same query. Sectioning will only occur if the contained element is in a detail area. For pageSet, this means that a sectioned frame can only exist in the detailPages. For a list, this means a sectioned frame can only exist in a listColumnBody. If an element is using the same query but not in a secitioning relationship/area you get a different QRD. pageSet, list, repeater, and repeaterTable can be sectioned by a sectioning element. sectioning of a pageSet, list, repeater or repeaterTable would simply add the sectioning groups as higher level groupings of the sectioned frame in the QRD crosstabs and charts cannot be sectioned in Bering. The report server should return a validation error if it encounters a crosstab or chart that is sectioned in the report spec. Post Bering, we will consider making the sectioning approach for crosstabs and charts an option. For example, crosstab would have an option to choose whether to section the rows, columns or entire crosstab (separate edge in QRD). A pie chart would have an option to choose whether to section the pies, pie slices or entire chart. When the RSVP team is implementing sectioning they should keep this in mind so that we do not preclude it in the future. Represents the text associated with a page section item. Represents text associated with a context area item. If there are multiple members in the context, then this string will be used to separate them. Represents the summary text avaiilable for table like elements. This is primarily used to provide accessibility to table elements in a report. This defines the default data formatting rules to be used in the layout. Each data type can have a default data format. The TOCEntry element acts a both a bookmark in the layout for an entry in the TOC and the contents of that entry. Reference to the TOC that this entry belongs to.