# `KugarData`

| `KugarData` |

## Chapter 1. `KugarData`

The `KugarData` element defines a report's data source. The basic structure is a collection of rows and columns. This document does not define data types and their attributes at this time. The report template defines column data type information.

The document creator can apply an XSL style sheet to an existing document to convert it to this format. If XSL is used, the creator can apply custom macros using XSL for column calculations, sorting, etc..

    <!ELEMENT KugarData (Row* )>
    <!ATTLIST KugarData
         Template CDATA  #REQUIRED>

    <!ELEMENT Row EMPTY>
    <!ATTLIST Row
         col1   CDATA  #REQUIRED
         col2   CDATA  #REQUIRED
         ...    CDATA  #REQUIRED
         coln   CDATA  #REQUIRED>

Elements
  `Row`

    The `KugarData` element contains zero or more `Row` elements. A `Row` must contain one or more attributes representing data columns.

Attributes
  `Template`

    This is an attribute of the `KugarData` element. The value of the attribute is the URL of the report template used to format the data.

  `Column`

    This is an attribute of the `Row`. The name of the attribute is the column name, and uses the format as given in the `KugarData` definition. The attribute name is used in the report template to bind the data to the report fields.