Structure of XML report output

The generated XML output contains the structure of the formatted pages, with page header, page trailer and group sections. Every PRINTX instruction will generate a <Print> node with a list of <Item> nodes containing the data. The XML processor can use this structure to format and render the output as needed.

If a new report is started with START REPORT instruction inside a REPORT routine producing XML, and if there is no destination specified in the START REPORT instruction, the sub-report inherits the XML output target of the parent, and sub-report nodes will be merged into the parent XML output.

The output of an XML report will have the following node structure:

<Report ...>
  <PageHeader pageNo="...">
     ...
  </PageHeader>
  <Group>
    <BeforeGroup>
      <Print name="...">
        <Item name="..." type="..." value="..." isoValue="..." />
        <Item name="..." type="..." value="..." isoValue="..." />
        ...
      </Print>
      ...
    </BeforeGroup>
    <OnEveryRow>
      <Print name="...">
        <Item name="..." type="..." value="..." isoValue="..." />
        <Item name="..." type="..." value="..." isoValue="..." />
        ...
      </Print>
      ...
    </OnEveryRow>
    ...
    <AfterGroup>
      <Print name="...">
        <Item name="..." type="..." value="..." isoValue="..." />
        <Item name="..." type="..." value="..." isoValue="..." />
        ...
      </Print>
    </AfterGroup>
    ...
  </Group>
  ...
  <OnLastRow ...>
     ...
  </OnLastRow>
  
  <PageTrailer ...>
     ...
  </PageTrailer>
  
</Report>