# KugarData element

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. 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
            level         CDATA  #REQUIRED
            col1          CDATA  #IMPLIED
            col2          CDATA  #IMPLIED
            ...           CDATA  #IMPLIED
            coln          CDATA  #IMPLIED>

## Kugar data element

The `KugarData` element contains zero or more `Row` elements. A `Row` must contain one `level` attribute with value corresponding to detail level in the template. Other attributes represent data columns.

The value of the `Template` attribute is the &URL; of the report template used to format the data.

## Row element

Attributes

- `level`

- The attribute value indicates which detail in the report template is used to display data. Rows can contain various column sets for various levels, so any attribute except `level` should be stated as #IMPLIED.

`column`

- 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.