| Reports / XML output for reports | |
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>