Report Definition Schema

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:include schemaLocation="common.xsd"/>
  <xs:element name="Report">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="Type">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="Property">
                <xs:complexType>
                  <xs:attribute name="name" type="bondstringtype" use="required">
                    <xs:annotation>
                      <xs:documentation>
                        The name of your property which should be exported. See the
                        documentation under Import/Export Data for a list of all
                        available properties per main type.
                      </xs:documentation>
                    </xs:annotation>
                  </xs:attribute>
                  <xs:attribute name="columnName" type="xs:string" use="optional">
                    <xs:annotation>
                      <xs:documentation>
                        The name of the column in the reporting table that should hold
                        the values of the property. The database column type is
                        inferred automatically based on your type definition.
                        Properties of multiple types can refer to the same columns if
                        their types do not differ.
                        If not set, the name of the property is used as column name.
                      </xs:documentation>
                    </xs:annotation>
                  </xs:attribute>
                    <xs:attribute name="type" type="bondproptype" use="optional">
                      <xs:annotation>
                        <xs:documentation>
                          The type of the property (for example "Single line text") that
                          determines the column type in the reporting table.
                        </xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="customType" type="bondstringtype" use="optional">
              <xs:annotation>
                <xs:documentation>
                  The custom type of this entity, can only be empty if the main type
                  does not allow custom types
                </xs:documentation>
              </xs:annotation>
            </xs:attribute>
            <xs:attribute name="typeVersion" type="bondstringtype" use="optional">
              <xs:annotation>
                <xs:documentation>
                  The type version of this type, can only be empty if this type
                  does not allow type versions
                </xs:documentation>
              </xs:annotation>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="mainType" type="bondentitytype" use="required">
        <xs:annotation>
          <xs:documentation>
            The main type of the entity on which the report should be based.
            Each report can only belong to one main type.
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="tableName" type="xs:string" use="required">
        <xs:annotation>
          <xs:documentation>
            The name of the database table that is used for the report
            in the reporting database.
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="includeHistoricData" type="xs:boolean"
                    use="optional" default="false">
        <xs:annotation>
          <xs:documentation>
            False: The generated table will only include data that reflects the current state
                   of your entities.
                   If an entity gets deleted, it is deleted in the reporting table
                   as well.
            True: The generated table will include all changes from the moment you created
                  the reporting job via the CLI.
                  When an entity changes, a new row is inserted.
                  If an entity gets deleted, a new row is inserted with empty values
                  and the "system_is_deleted" column set to "true".
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
</xs:schema>

(line breaks for formatting purposes only)