# `KugarData` template elements

## `ReportHeader` and `ReportFooter` Sections

The `ReportHeader` and `ReportFooter` elements define report sections that are usually printed at the beginning and end of the report.

    <!ELEMENT ReportHeader (Line*, Label*, Special*)>
    <!ATTLIST ReportHeader
         Height          CDATA #REQUIRED
         PrintFrequency  CDATA #REQUIRED>

    <!ELEMENT ReportFooter (Line*, Label*, Special*, CalculatedField*)>
    <!ATTLIST ReportFooter
         Height         CDATA #REQUIRED
         PrintFrequency CDATA #REQUIRED>

Elements

  The `ReportHeader` element can contain the following elements

  `Line`

    The `Line` element defines a report object used to draw lines on a report.

  `Label`

    The `Label` element defines a report object used to draw fixed text on a report.

  `Special`

    The `Special` element defines a report object used to draw page numbers and the current date on a report.

  The `ReportFooter` element can contain the following elements:

  `Line`

    The `Line` element defines a report object used to draw lines on a report.

  `Label`

    The `Label` element defines a report object used to draw fixed text on a report.

  `Special`

    The `Special` element defines a report object used to draw page numbers and the current date on a report.

  `CalculatedField`

    The `CalculatedField` element defines a report object used to draw calculated values on a report.

Attributes
  `Height`

    Sets the height of the report section. If you don't want this,section set this value to `0`.

  `PrintFrequency`

    Set the print frequency of the section.

    Value | Print Frequency
    --- | ---
    `0` | First Page
    `1` | Every Page
    `2` | Last Page

## `PageHeader` and `PageFooter` sections

The `PageHeader` and `PageFooter` elements define report sections that are usually printed on every page of the report.

    <!ELEMENT PageHeader (Line*, Label*, Special*)>
    <!ATTLIST PageHeader
         Height          CDATA #REQUIRED
         PrintFrequency  CDATA #REQUIRED>

    <!ELEMENT PageFooter (Line*, Label*, Special*)>
    <!ATTLIST PageFooter
         Height          CDATA #REQUIRED
         PrintFrequency  CDATA #REQUIRED>

Elements

  The `PageHeader` element can contain the following elements:

  `Line`

    The `Line` element defines a report object used to draw lines on a report.

  `Label`

    The `Label` element defines a report object used to draw fixed text on a report.

  `Special`

    The `Special` element defines a report object used to draw page numbers and the current date on a report.

  The `PageFooter` element can contain the following elements:

  `Line`

    The `Line` element defines a report object used to draw lines on a report.

  `Label`

    The `Label` element defines a report object used to draw fixed text on a report.

  `Special`

    The `Special` element defines a report object used to draw page numbers and the current date on a report.

Attributes
  `Height`

    Sets the height of the report section. If you don't want this,section set this value to `0`.

  `PrintFrequency`

    Set the print frequency of the section.

    Value | Print Frequency
    --- | ---
    `0` | First Page
    `1` | Every Page
    `2` | Last Page

## `Detail` section

The `Detail` element defines the report section that contains the report data.

    <!ELEMENT Detail (Line*, Label*, Special*, Field*)>
    <!ATTLIST Detail
         Height  CDATA   #REQUIRED>

Elements

  The `Detail` element can contain the following elements

  `Line`

    The `Line` element defines a report object used to draw lines on a report.

  `Label`

    The `Label` element defines a report object used to draw fixed text on a report.

  `Special`

    The `Special` element defines a report object used to draw page numbers and the current date on a report.

  `Field`

    The `Field` element defines a report object used to draw data on a report.

Attributes
  `Height`

    Sets the height of the report section. If you don't want this,section set this value to `0`.

## `Line`

The `Line` element defines a report object used to draw lines on a report.

    <!ELEMENT Line EMPTY>
    <!ATTLIST Line
         X1     CDATA #REQUIRED
         Y1     CDATA #REQUIRED
         X2     CDATA #REQUIRED
         Y2     CDATA #REQUIRED
         Width  CDATA #REQUIRED
         Color  CDATA #REQUIRED
         Style  CDATA #REQUIRED>

Attributes
  `X1`

    Sets the starting x coordinate for the line.

  `Y1`

    Sets the starting y coordinate for the line.

  `X2`

    Sets the ending x coordinate for the line.

  `Y2`

    Sets the width of the line

  `Color`

    Sets the color of the line. The color is defined as an RGB value (r,g,b). r, g and b must be in the range 0..255.

  `Style`

    Sets the drawing style for the line.

    Value | Line Style
    --- | ---
    `1` | Solid
    `2` | Dash
    `3` | Dot
    `4` | Dash Dot
    `5` | Dash Dot Dot

## `Label`

The `Label` element defines a report object used to draw fixed text on a report.

     <!ELEMENT Label EMPTY>
     <!ATTLIST Label
         Text            CDATA #REQUIRED
         X               CDATA #REQUIRED
         Y               CDATA #REQUIRED
         Width           CDATA #REQUIRED
         Height          CDATA #REQUIRED
         BackgroundColor CDATA #REQUIRED
         ForegroundColor CDATA #REQUIRED
         BorderColor     CDATA #REQUIRED
         BorderWidth     CDATA #REQUIRED
         BorderStyle     CDATA #REQUIRED
         FontFamily      CDATA #REQUIRED
         FontSize        CDATA #REQUIRED
         FontWeight      CDATA #REQUIRED
         FontItalic      CDATA #REQUIRED
         HAlignment      CDATA #REQUIRED
         VAlignment      CDATA #REQUIRED
         WordWrap        CDATA #REQUIRED>

Attributes
  `Text`

    Sets the label's text.

  `X`

    Sets the x coordinate for positioning the label.

  `Y`

    Sets the y coordinate for positioning the label.

  `Width`

    Sets the width of the label.

  `Height`

    Sets the height of the label.

  `BackgroundColor`

    Sets the background color of the label. The The color is defined as an RGB value (r,g,b). r, g and b must be in the range 0..255.

  `ForegroundColor`

    Sets the foreground color of the label. The color is defined as an RGB value (r,g,b). r, g and b must be in the range 0..255.

  `BorderColor`

    Sets the border color of the label. The color is defined as an RGB value (r,g,b). r, g and b must be in the range 0..255.

  `BorderWidth`

    Sets the border width for the label.

  `BorderStyle`

    Sets the border style for the label.

    Value | Border Style
    --- | ---
    `0` | None
    `1` | Solid
    `2` | Dash
    `3` | Dot
    `4` | Dash Dot
    `5` | Dash Dot Dot

  `FontFamily`

    Sets the font family for the label's text.

    ``FontFamily`="`Helvetica`"`

  `FontSize`

    Sets the font size for the label's text.

  `FontWeight`

    Sets the font weight for the label's text.

    Value | Font Weight
    --- | ---
    `25` | Light
    `50` | Normal
    `63` | Demi Bold
    `75` | Bold
    `87` | Black

  `FontItalic`

    Sets the font italic flag for the label's text.

    Value | Italic
    --- | ---
    `0` | False
    `1` | True

  `HAlignment`

    Sets the label's horizontal text alignment.

    Value | Horizontal Alignment
    --- | ---
    `0` | Left
    `1` | Center
    `2` | Right

  `VAlignment`

    Sets the label's vertical text alignment

    Value | Vertical Alignment
    --- | ---
    `0` | Top
    `1` | Middle
    `2` | Bottom

  `WordWrap`

    Sets the word wrap flag for the label's text.

    Value | Word Wrap
    --- | ---
    `0` | False
    `1` | True

## `Field`

The `Field` element defines a report object used to draw data on a report.

    <!ELEMENT Field EMPTY>
    <!ATTLIST Field
         Field           CDATA #REQUIRED
         Text            CDATA #REQUIRED
         X               CDATA #REQUIRED
         Y               CDATA #REQUIRED
         Width           CDATA #REQUIRED
         Height          CDATA #REQUIRED
         BackgroundColor CDATA #REQUIRED
         ForegroundColor CDATA #REQUIRED
         BorderColor     CDATA #REQUIRED
         BorderWidth     CDATA #REQUIRED
         BorderStyle     CDATA #REQUIRED
         FontFamily      CDATA #REQUIRED
         FontSize        CDATA #REQUIRED
         FontWeight      CDATA #REQUIRED
         FontItalic      CDATA #REQUIRED
         HAlignment      CDATA #REQUIRED
         VAlignment      CDATA #REQUIRED
         WordWrap        CDATA #REQUIRED
         DataType        CDATA #REQUIRED
         DateFormat      CDATA #REQUIRED
         Precision       CDATA #REQUIRED
         Currency        CDATA #REQUIRED
         NegValueColor   CDATA #REQUIRED
         CommaSeparator  CDATA #REQUIRED>

Attributes
  `Field`

    Sets the data field for the object. This is a `row` attribute from a MetaphrastRowset data document.

  `Text`

    Not used.

  `X`

    Sets the x coordinate for positioning the field.

  `Y`

    Sets the y coordinate for positioning the field.

  `Width`

    Sets the width of the field.

  `Height`

    Sets the height of the field.

  `BackgroundColor`

    Sets the background color of the field. he color is defined as an RGB value (r,g,b). r, g and b must be in the range 0..255.

  >`ForegroundColor`

    Sets the foreground color of the field. The color is defined as an RGB value (r,g,b). r, g and b must be in the range 0..255.

  `BorderColor`

    Sets the border color of the field. The color is defined as an RGB value (r,g,b). r, g and b must be in the range 0..255.

  `BorderWidth`

    Sets the border width for the field.

  `BorderStyle`

    Sets the border style for the field.

    Value | Border Style
    --- | ---
    `0` | None
    `1` | Solid
    `2` | Dash
    `3` | Dot
    `4` | Dash Dot
    `5` | Dash Dot Dot

  `FontFamily`

    Sets the font family for the field's text.

    ``FontFamily`="`Helvetica`"`

  `FontSize`

    Sets the font size for the field's text.

  `FontWeight`

    Sets the font weight for the field's text.

    Value | Font Weight
    --- | ---
    `25` | Light
    `50` | Normal
    `63` | Demi Bold
    `75` | Bold
    `87` | Black

  `FontItalic`

    Sets the font italic flag for the field's text.

    Value | Italic
    --- | ---
    `0` | False
    `1` | True

  `HAlignment`

    Sets the field's horizontal text alignment.

    Value | Horizontal Alignment
    --- | ---
    `0` | Left
    `1` | Center
    `2` | Right

  `VAlignment`

    Sets the field's vertical text alignment

    Value | Vertical Alignment
    --- | ---
    `0` | Top
    `1` | Middle
    `2` | Bottom

  `WordWrap`

    Sets the word wrap flag for the field's text.

    Value | Word Wrap
    --- | ---
    `0` | False
    `1` | True

`DataType`

  Sets the field's data type.

  Value | Data Type
  --- | ---
  `0` | String
  `1` | Integer
  `2` | Float
  `3` | Date
  `4` | Currency

`DateFormat`

  Sets the field's date format. For this to work, the format of the date from the data document must be in the format mm/dd/yyyy or mm-dd-yyyy, otherwise the original date format is used. If data type other than date, set to `0`.

  Value | Date Format
  --- | ---
  `0` | m/d/yy
  `1` | m-d-yy
  `2` | mm/dd/yy
  `3` | mm-dd-yy
  `4` | m/d/yyy
  `5` | m-d-yy
  `6` | mm/dd/yyyy
  `7` | mm-dd-yyyy
  `8` | yyyy/m/d
  `9` | yyyy-m-d

`Precision`

  Sets the field's numeric precision. If data type other than a numeric type, set to 0.

`Currency`

  Sets the field's currency symbol If data type other than currency, set to `36` ($). The value is a number representing a Unicode character.

`NegValueColor`

  Sets the color for negative numeric values. The color is defined as an RGB value (r,g,b). r, g and b must be in the range 0..255. If data is other than a numeric type, set to 255,0,0.

`CommaSeparator`

  Sets whether commas are used in numeric fields. If data type other than a numeric type, set to `0`.

  Value | Comma Separator
  --- | ---
  `0` | False
  `1` | True

## `CalculatedField`

The `Field` element defines a report object used to draw calculated values on a report.

    <!ELEMENT CalculatedField EMPTY>
    <!ATTLIST CalculatedField
         CalculationType CDATA #REQUIRED
         Text            CDATA #REQUIRED
         X               CDATA #REQUIRED
         Y               CDATA #REQUIRED
         Width           CDATA #REQUIRED
         Height          CDATA #REQUIRED
         BackgroundColor CDATA #REQUIRED
         ForegroundColor CDATA #REQUIRED
         BorderColor     CDATA #REQUIRED
         BorderWidth     CDATA #REQUIRED
         BorderStyle     CDATA #REQUIRED
         FontFamily      CDATA #REQUIRED
         FontSize        CDATA #REQUIRED
         FontWeight      CDATA #REQUIRED
         FontItalic      CDATA #REQUIRED
         HAlignment      CDATA #REQUIRED
         VAlignment      CDATA #REQUIRED
         WordWrap        CDATA #REQUIRED
         DataType        CDATA #REQUIRED
         DateFormat      CDATA #REQUIRED
         Precision       CDATA #REQUIRED
         Currency        CDATA #REQUIRED
         NegValueColor   CDATA #REQUIRED
         CommaSeparator  CDATA #REQUIRED>

Attributes
  `CalculationType`

    Sets the calculation type for the field.

    Value | Calculation
    --- | ---
    `0` | Count
    `1` | Sum
    `2` | Average
    `3` | Variance
    `4` | Std Deviation

  `Text`

    Not used.

  `X`

    Sets the x coordinate for positioning the field.

  `Y`

    Sets the y coordinate for positioning the field.

  `Width`

    Sets the width of the field.

  `Height`

    Sets the height of the field.

  `BackgroundColor`

    Sets the background color of the field. he color is defined as an RGB value (r,g,b). r, g and b must be in the range 0..255.

  >`ForegroundColor`

    Sets the foreground color of the field. The color is defined as an RGB value (r,g,b). r, g and b must be in the range 0..255.

  `BorderColor`

    Sets the border color of the field. The color is defined as an RGB value (r,g,b). r, g and b must be in the range 0..255.

  `BorderWidth`

    Sets the border width for the field.

  `BorderStyle`

    Sets the border style for the field.

    Value | Border Style
    --- | ---
    `0` | None
    `1` | Solid
    `2` | Dash
    `3` | Dot
    `4` | Dash Dot
    `5` | Dash Dot Dot

  `FontFamily`

    Sets the font family for the field's text.

    ``FontFamily`="`Helvetica`"`

  `FontSize`

    Sets the font size for the field's text.

  `FontWeight`

    Sets the font weight for the field's text.

    Value | Font Weight
    --- | ---
    `25` | Light
    `50` | Normal
    `63` | Demi Bold
    `75` | Bold
    `87` | Black

  `FontItalic`

    Sets the font italic flag for the field's text.

    Value | Italic
    --- | ---
    `0` | False
    `1` | True

  `HAlignment`

    Sets the field's horizontal text alignment.

    Value | Horizontal Alignment
    --- | ---
    `0` | Left
    `1` | Center
    `2` | Right

  `VAlignment`

    Sets the field's vertical text alignment

    Value | Vertical Alignment
    --- | ---
    `0` | Top
    `1` | Middle
    `2` | Bottom

  `WordWrap`

    Sets the word wrap flag for the field's text.

    Value | Word Wrap
    --- | ---
    `0` | False
    `1` | True

`DataType`

  Sets the field's data type.

  Value | Data Type
  --- | ---
  `0` | String
  `1` | Integer
  `2` | Float
  `3` | Date
  `4` | Currency

`DateFormat`

  Sets the field's date format. For this to work, the format of the date from the data document must be in the format mm/dd/yyyy or mm-dd-yyyy, otherwise the original date format is used. If data type other than date, set to `0`.

  Value | Date Format
  --- | ---
  `0` | m/d/yy
  `1` | m-d-yy
  `2` | mm/dd/yy
  `3` | mm-dd-yy
  `4` | m/d/yyy
  `5` | m-d-yy
  `6` | mm/dd/yyyy
  `7` | mm-dd-yyyy
  `8` | yyyy/m/d
  `9` | yyyy-m-d

`Precision`

  Sets the field's numeric precision. If data type other than a numeric type, set to 0.

`Currency`

  Sets the field's currency symbol If data type other than currency, set to `36` ($). The value is a number representing a Unicode character.

`NegValueColor`

  Sets the color for negative numeric values. The color is defined as an RGB value (r,g,b). r, g and b must be in the range 0..255. If data is other than a numeric type, set to 255,0,0.

`CommaSeparator`

  Sets whether commas are used in numeric fields. If data type other than a numeric type, set to `0`.

  Value | Comma Separator
  --- | ---
  `0` | False
  `1` | True

## `Special`

The `Special` element defines a report object used to draw page numbers and the current date on a report.

    <!ELEMENT Special EMPTY>
    <!ATTLIST Special
         Type            CDATA #REQUIRED
         Text            CDATA #REQUIRED
         X               CDATA #REQUIRED
         Y               CDATA #REQUIRED
         Width           CDATA #REQUIRED
         Height          CDATA #REQUIRED
         BackgroundColor CDATA #REQUIRED
         ForegroundColor CDATA #REQUIRED
         BorderColor     CDATA #REQUIRED
         BorderWidth     CDATA #REQUIRED
         BorderStyle     CDATA #REQUIRED
         FontFamily      CDATA #REQUIRED
         FontSize        CDATA #REQUIRED
         FontWeight      CDATA #REQUIRED
         FontItalic      CDATA #REQUIRED
         HAlignment      CDATA #REQUIRED
         VAlignment      CDATA #REQUIRED
         WordWrap        CDATA #REQUIRED
         DateFormat      CDATA #REQUIRED>

Attributes
  `Type`

    Sets the type of special object.

    Value | Type
    --- | ---
    `0` | Current Date
    `1` | Page Number

  `Text`

    Not used.

  `X`

    Sets the x coordinate for positioning the field.

  `Y`

    Sets the y coordinate for positioning the field.

  `Width`

    Sets the width of the field.

  `Height`

    Sets the height of the field.

  `BackgroundColor`

    Sets the background color of the field. he color is defined as an RGB value (r,g,b). r, g and b must be in the range 0..255.

  >`ForegroundColor`

    Sets the foreground color of the field. The color is defined as an RGB value (r,g,b). r, g and b must be in the range 0..255.

  `BorderColor`

    Sets the border color of the field. The color is defined as an RGB value (r,g,b). r, g and b must be in the range 0..255.

  `BorderWidth`

    Sets the border width for the field.

  `BorderStyle`

    Sets the border style for the field.

    Value | Border Style
    --- | ---
    `0` | None
    `1` | Solid
    `2` | Dash
    `3` | Dot
    `4` | Dash Dot
    `5` | Dash Dot Dot

  `FontFamily`

    Sets the font family for the field's text.

    ``FontFamily`="`Helvetica`"`

  `FontSize`

    Sets the font size for the field's text.

  `FontWeight`

    Sets the font weight for the field's text.

    Value | Font Weight
    --- | ---
    `25` | Light
    `50` | Normal
    `63` | Demi Bold
    `75` | Bold
    `87` | Black

  `FontItalic`

    Sets the font italic flag for the field's text.

    Value | Italic
    --- | ---
    `0` | False
    `1` | True

  `HAlignment`

    Sets the field's horizontal text alignment.

    Value | Horizontal Alignment
    --- | ---
    `0` | Left
    `1` | Center
    `2` | Right

  `VAlignment`

    Sets the field's vertical text alignment

    Value | Vertical Alignment
    --- | ---
    `0` | Top
    `1` | Middle
    `2` | Bottom

  `WordWrap`

    Sets the word wrap flag for the field's text.

    Value | Word Wrap
    --- | ---
    `0` | False
    `1` | True

`DateFormat`

  Sets the field's date format. For this to work, the format of the date from the data document must be in the format mm/dd/yyyy or mm-dd-yyyy, otherwise the original date format is used. If data type other than date, set to `0`.

  Value | Date Format
  --- | ---
  `0` | m/d/yy
  `1` | m-d-yy
  `2` | mm/dd/yy
  `3` | mm-dd-yy
  `4` | m/d/yyy
  `5` | m-d-yy
  `6` | mm/dd/yyyy
  `7` | mm-dd-yyyy
  `8` | yyyy/m/d
  `9` | yyyy-m-d

`Precision`

  Sets the field's numeric precision. If data type other than a numeric type, set to 0.