Tabular Export

This document describes the structure of the tabular export and its specification.

Structure of TableExport

The overall structure is:

<TableExport>
  <TableList>
    <Table>(repeats)
      : table details
    </Table>
  </TableList>
</TableExport>

Each <Table> contains:

<Table>
  <tableName/>           Name of table
  <ColumnList>
    <Column>             (repeats)
      : column data
    </Column>
  </ColumnList>
  <RowList>
    <Row>                (repeats)
      : row data
    </Row>
  </RowList>
</Table>

Each <Column> contains:

<Column>
  <columnName/>          Name of column
  <dataType/>            Data type - see below
</Column>

The format currently supports five data types:

string Any string, assumed to have no line feeds.
number Any number.
timestamp A timestamp, format yyyy-mm-ddThh:mm:ss.sss
text Text that may contain line feeds.

Each <Row> contains a <FieldList>, which contains multiple <Field> elements. Each <Field> contains:

<Field>
  <columnName/>
  <value/>
</Field>

Example:

<Table>
  <tableName>ExampleTable</tableName>
    <ColumnList>
      <Column>
        <columnName>name</columnName>
        <dataType>string</dataType>
      </Column>
      <Column>
        <columnName>numberOfPets</columnName>
        <dataType>number</dataType>
      </Column>
    </ColumnList>
    <RowList>
      <Row>
        <FieldList>
          <Field>
            <columnName>name</columnName>
            <value>Roger</value>
          </Field>
          <Field>
            <columnName>numberOfPets</columnName>
            <value>3</value>
          </Field>
        </FieldList>
      </Row>
      <Row>
        <FieldList>
          <Field>
            <columnName>name</columnName>
            <value>Clarissa</value>
          </Field>
          <Field>
            <columnName>numberOfPets</columnName>
            <value>7</value>
          </Field>
        </FieldList>
      </Row>
      <Row>
        <FieldList>
          <Field>
            <columnName>name</columnName>
            <value>George</value>
          </Field>
          <Field>
            <columnName>numberOfPets</columnName>
            <value>0</value>
          </Field>
        </FieldList>
      </Row>
    </RowList>
</Table>

This represents the table

name numberOfPets
Roger 3
Clarissa 7
George 0

Notes:

Table specification

The specification of the tabular export created by the tabulate process is provided as an XML document.

This XML document is the same as the TableExport, except:

The rowPath and fieldPath can contain any XPath statement.