# Elemento de modelo KugarTemplate

Bandas da secção | Elementos da secções
`ReportHeader` | `Line`
`PageHeader` | `Label`
`DetailHeader` | `Field`
`Detail` | `CalculatedField`
`DetailFooter` | `Special`
`PageFooter` | Rodapé da Página
`ReportFooter` | Rodapé do Relatório

## Secções `ReportHeader` e `ReportFooter`

Os elementos `ReportHeader` e `ReportFooter` definem secções do relatório que são normalmente impressas no início e no fim do relatório.

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

Atributos

- `Height`

- Escolhe a altura da secção do relatório. Se não o deseja fazer, escolha o valor `0`.

`PrintFrequency`

- Escolhe a frequência de impressão da secção.

  Valor | Frequência de Impressão
  `0` | Primeira Página
  `1` | Todas as Páginas
  `2` | Última Página

## Secções `PageHeader` e `PageFooter`

Os elementos `PageHeader` e `PageFooter` definem secções de relatório que são normalmente impressas em todas as páginas do relatório.

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

Atributos

- `Height`

- Escolhe a altura da secção do relatório. Se não o deseja fazer, escolha o valor `0`.

`PrintFrequency`

- Escolhe a frequência de impressão da secção.

  Valor | Frequência de Impressão
  `0` | Primeira Página
  `1` | Todas as Páginas
  `2` | Última Página

## Secções `DetailHeader` e `DetailFooter`

Os elementos `DetailHeader` e `DetailFooter` definem secções do relatório que são impressas antes e depois dos detalhes de um determinado nível e abaixo no relatório.

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

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

Atributos

- `Height`

- Escolhe a altura da secção do relatório. Se não o deseja fazer, escolha o valor `0`.

`Level`

- Escolhe o nível hierárquico da secção. As secções com níveis superior serão impressas antes das secções com níveis inferiores. O nível pode ser qualquer número a partir de 0.

## Secção `Detail`

O elemento `Detail` define a secção do relatório que contém os dados. O relatório pode ter vários detalhes, que são acedidos através do atributo 'Level'.

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

Atributos

- `Height`

- Escolhe a altura da secção do relatório. Se não o deseja fazer, escolha o valor `0`.

`Level`

- Escolhe o nível hierárquico da secção. As secções com níveis superior serão impressas antes das secções com níveis inferiores. O nível pode ser qualquer número a partir de 0. Isto é um atributo do elemento `row` no ficheiro de dados.

## `Line`

O elemento `Line` define um objecto utilizado para desenhar linha num relatório.

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

Atributos

- `X1`

- Escolhe a coordenada X inicial (relativa ao campo superior esquerda da secção) da linha.

`Y1`

- Escolhe a coordenada Y inicial (relativa ao campo superior esquerda da secção) da linha.

`X2`

- Escolhe a coordenada X final (relativa ao campo superior esquerda da secção) da linha.

`Y2`

- Escolhe a coordenada Y final (relativa ao campo superior esquerda da secção) da linha.

`Width`

- Escolhe a largura da linha.

`Color`

- Escolhe a cor da linha. Esta cor é definida como um valor RGB ('Red Green Blue', Vermelho, Verde, Azul) (r, g, b). r, g e b devem estar entre 0 e 255.

`Style`

- Escolhe o estilo de desenho da linha.

  Valor | Estilo de Linha
  `0` | Sem Caneta
  `1` | Sólido
  `2` | Traço
  `3` | Ponto
  `4` | Traço Ponto
  `5` | Traço Ponto Ponto

## `Label`

O elemento `Label` define um objecto que pode ser utilizado para colocar texto fixo no relatório.

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

Atributos

- `Text`

- Muda o texto da etiqueta.

`X`

- Escolhe a coordenada X inicial (relativa ao campo superior esquerda da secção) para posicionar a etiqueta.

`Y`

- Escolhe a coordenada Y inicial (relativa ao campo superior esquerda da secção) para posicionar a etiqueta.

`Width`

- Escolhe a largura da etiqueta.

`Height`

- Escolhe a altura da etiqueta.

`BackgroundColor`

- Escolhe a cor de fundo da etiqueta. Esta cor é definida como um valor RGB ('Red Green Blue', Vermelho, Verde, Azul) (r, g, b). r, g e b devem estar entre 0 e 255.

`ForegroundColor`

- Escolhe a cor principal da etiqueta. Esta cor é definida como um valor RGB ('Red Green Blue', Vermelho, Verde, Azul) (r, g, b). r, g e b devem estar entre 0 e 255.

`BorderColor`

- Escolhe a cor do contorno da etiqueta. Esta cor é definida como um valor RGB ('Red Green Blue', Vermelho, Verde, Azul) (r, g, b). r, g e b devem estar entre 0 e 255.

`BorderWidth`

- Escolhe a largura do contorno da etiqueta.

`BorderStyle`

- Escolhe o estilo do contorno da etiqueta.

  Valor | Estilo do Contorno
  `0` | Nenhum
  `1` | Sólido
  `2` | Traço
  `3` | Ponto
  `4` | Traço Ponto
  `5` | Traço Ponto Ponto

`FontFamily`

- Escolhe a família de letra do texto da etiqueta.

`FontSize`

- Escolhe o tamanho de letra do texto da etiqueta.

`FontWeight`

- Escolhe a espessura da letra do texto da etiqueta.

  Valor | Espessura da Letra
  `25` | Leve
  `50` | Normal
  `63` | Semi-Negrito
  `75` | Negrito
  `87` | Negro

`FontItalic`

- Escolhe ou não colocar em itálico o texto da etiqueta.

  Valor | Itálico
  `0` | False
  `1` | True

`HAlignment`

- Muda o alinhamento horizontal do texto.

  Valor | Alinhamento Horizontal
  `0` | Esquerda
  `1` | Centro
  `2` | Direita

`VAlignment`

- Muda o alinhamento vertical do texto da etiqueta.

  Valor | Alinhamento Vertical
  `0` | Topo
  `1` | Meio
  `2` | Fundo

`WordWrap`

- Activa ou não a mudança de linha no texto da etiqueta.

  Valor | Mudança de Linha
  `0` | False
  `1` | True

## `Field`

O elemento `Label` define um objecto que pode ser utilizado para colocar dados no relatório.

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

Atributos

- `Field`

- Escolhe o campo de dados do objecto. Isto é um atributo do elemento `row` no ficheiro de dados.

`Text`

- Não usado.

`X`

- Escolhe a coordenada X inicial (relativa ao campo superior esquerda da secção) para posicionar o campo.

`Y`

- Escolhe a coordenada Y inicial (relativa ao campo superior esquerda da secção) para posicionar o campo.

`Width`

- Escolhe a largura do campo.

`Height`

- Escolhe a altura do campo.

`BackgroundColor`

- Escolhe a cor de fundo do campo. Esta cor é definida como um valor RGB ('Red Green Blue', Vermelho, Verde, Azul) (r, g, b). r, g e b devem estar entre 0 e 255.

`ForegroundColor`

- Escolhe a cor principal do campo. Esta cor é definida como um valor RGB ('Red Green Blue', Vermelho, Verde, Azul) (r, g, b). r, g e b devem estar entre 0 e 255.

`BorderColor`

- Escolhe a cor do contorno do campo. Esta cor é definida como um valor RGB ('Red Green Blue', Vermelho, Verde, Azul) (r, g, b). r, g e b devem estar entre 0 e 255.

`BorderWidth`

- Escolhe a largura do contorno do campo.

`BorderStyle`

- Escolhe o estilo do contorno do campo.

  Valor | Estilo do Contorno
  `0` | Nenhum
  `1` | Sólido
  `2` | Traço
  `3` | Ponto
  `4` | Traço Ponto
  `5` | Traço Ponto Ponto

`FontFamily`

- Escolhe a família de letra do texto do campo.

`FontSize`

- Escolhe o tamanho de letra do texto do texto.

`FontWeight`

- Escolhe a espessura da letra do texto do texto.

  Valor | Espessura da Letra
  `25` | Leve
  `50` | Normal
  `63` | Semi-Negrito
  `75` | Negrito
  `87` | Negro

`FontItalic`

- Escolhe ou não colocar em itálico o texto do campo.

  Valor | Itálico
  `0` | False
  `1` | True

`HAlignment`

- Mudar o alinhamento horizontal do texto do campo.

  Valor | Alinhamento Horizontal
  `0` | Esquerda
  `1` | Centro
  `2` | Direita

`VAlignment`

- Mudar o alinhamento vertical do texto do campo

  Valor | Alinhamento Vertical
  `0` | Topo
  `1` | Meio
  `2` | Fundo

`WordWrap`

- Activa ou não a mudança de linha no texto do campo.

  Valor | Mudança de Linha
  `0` | False
  `1` | True

`DataType`

- Escolhe o tipo de dados do campo.

  Valor | Tipo de Dados
  `0` | Cadeia de Caracteres
  `1` | Inteiro
  `2` | Real
  `3` | Data
  `4` | Moeda

`DateFormat`

- Escolhe o formato de data do campo. Para isto funcionar, o formato da data no documento de dados deve estar no formato mm/dd/aaaa ou mm-dd-aaaa, em caso contrário o formato original de data é utilizado. Se o tipo de dados não for data, escolha o valor `0`.

  Valor | Formato da Data
  `0` | m/d/aa
  `1` | m-d-aa
  `2` | mm/dd/aa
  `3` | mm-dd-aa
  `4` | m/d/aaaa
  `5` | m-d-aaaa
  `6` | mm/dd/aaaa
  `7` | mm-dd-aaaa
  `8` | aaaa/m/d
  `9` | aaaa-m-d
  `10` | dd.mm.aa
  `11` | dd.mm.aaaa

`Precision`

- Escolhe a precisão numérica do campo. Se o tipo de dados não é numérico, escolha 0.

`Currency`

- Escolhe o símbolo monetário do campo. Se o tipo de dados não é monetário escolha o valor `36` ($). O valor é um número que representa um caracter Unicode.

`NegValueColor`

- Escolhe a cor para os valores numéricos negativos. Esta cor é definida como um valor RGB ('Red Green Blue', Vermelho, Verde, Azul) (r, g, b). r, g e b devem estar entre 0 e 255. Se os dados não são numérico, escolha 255,0,0.

`CommaSeparator`

- Utiliza ou não virgulas nos campos numéricos. Se o tipo de dados não foi numérico escolha o valor `0`.

  Valor | Separador da Vírgula
  `0` | False
  `1` | True

## `CalculatedField`

O elemento `CalculatedField` define um objecto utilizado para colocar valores calculados no relatório.

    <!ELEMENT CalculatedField EMPTY>
    <!ATTLIST CalculatedField
         CalculationType CDATA #REQUIRED
         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>

Atributos

- `CalculationType`

- Escolhe o tipo de cálculo para o campo.

  Valor | Cálculo
  `0` | Quantidade
  `1` | Soma
  `2` | Média
  `3` | Variância
  `4` | Desvio Padrão

`Field`

- Escolhe o campo de dados do objecto. Isto é um atributo do elemento `row` no ficheiro de dados.

`Text`

- Não usado.

`X`

- Escolhe a coordenada X inicial (relativa ao campo superior esquerda da secção) para posicionar o campo.

`Y`

- Escolhe a coordenada Y inicial (relativa ao campo superior esquerda da secção) para posicionar o campo.

`Width`

- Escolhe a largura do campo.

`Height`

- Escolhe a altura do campo.

`BackgroundColor`

- Escolhe a cor de fundo do campo. Esta cor é definida como um valor RGB ('Red Green Blue', Vermelho, Verde, Azul) (r, g, b). r, g e b devem estar entre 0 e 255.

`ForegroundColor`

- Escolhe a cor principal do campo. Esta cor é definida como um valor RGB ('Red Green Blue', Vermelho, Verde, Azul) (r, g, b). r, g e b devem estar entre 0 e 255.

`BorderColor`

- Escolhe a cor do contorno do campo. Esta cor é definida como um valor RGB ('Red Green Blue', Vermelho, Verde, Azul) (r, g, b). r, g e b devem estar entre 0 e 255.

`BorderWidth`

- Escolhe a largura do contorno do campo.

`BorderStyle`

- Escolhe o estilo do contorno do campo.

  Valor | Estilo do Contorno
  `0` | Nenhum
  `1` | Sólido
  `2` | Traço
  `3` | Ponto
  `4` | Traço Ponto
  `5` | Traço Ponto Ponto

`FontFamily`

- Escolhe a família de letra do texto do campo.

`FontSize`

- Escolhe o tamanho de letra do texto do texto.

`FontWeight`

- Escolhe a espessura da letra do texto do texto.

  Valor | Espessura da Letra
  `25` | Leve
  `50` | Normal
  `63` | Semi-Negrito
  `75` | Negrito
  `87` | Negro

`FontItalic`

- Escolhe ou não colocar em itálico o texto do campo.

  Valor | Itálico
  `0` | False
  `1` | True

`HAlignment`

- Mudar o alinhamento horizontal do texto do campo.

  Valor | Alinhamento Horizontal
  `0` | Esquerda
  `1` | Centro
  `2` | Direita

`VAlignment`

- Muda o alinhamento vertical do texto do campo.

  Valor | Alinhamento Vertical
  `0` | Topo
  `1` | Meio
  `2` | Fundo

`WordWrap`

- Activa ou não a mudança de linha no texto do campo.

  Valor | Mudança de Linha
  `0` | False
  `1` | True

`DataType`

- Escolhe o tipo de dados do campo.

  Valor | Tipo de Dados
  `0` | Cadeia de Caracteres
  `1` | Inteiro
  `2` | Real
  `3` | Data
  `4` | Moeda

`DateFormat`

- Escolhe o formato de data do campo. Para isto funcionar, o formato da data no documento de dados deve estar no formato mm/dd/aaaa ou mm-dd-aaaa, em caso contrário o formato original de data é utilizado. Se o tipo de dados não for data, escolha o valor `0`.

  Valor | Formato da Data
  `0` | m/d/aa
  `1` | m-d-aa
  `2` | mm/dd/aa
  `3` | mm-dd-aa
  `4` | m/d/aaaa
  `5` | m-d-aaaa
  `6` | mm/dd/aaaa
  `7` | mm-dd-aaaa
  `8` | aaaa/m/d
  `9` | aaaa-m-d
  `10` | dd.mm.aa
  `11` | dd.mm.aaaa

`Precision`

- Escolhe a precisão numérica do campo. Se o tipo de dados não é numérico, escolha 0.

`Currency`

- Escolhe o símbolo monetário do campo. Se o tipo de dados não é monetário escolha o valor `36` ($). O valor é um número que representa um caracter Unicode.

`NegValueColor`

- Escolhe a cor para os valores numéricos negativos. Esta cor é definida como um valor RGB ('Red Green Blue', Vermelho, Verde, Azul) (r, g, b). r, g e b devem estar entre 0 e 255. Se os dados não são numérico, escolha 255,0,0.

`CommaSeparator`

- Utiliza ou não virgulas nos campos numéricos. Se o tipo de dados não foi numérico escolha o valor `0`.

  Valor | Separador da Vírgula
  `0` | False
  `1` | True

## `Special`

O elemento `Special` define um objecto utilizado para colocar números de página e a data actual num relatório.

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

Atributos

- `Type`

- Escolhe o tipo do objecto especial.

  Valor | Tipo
  `0` | Data Actual
  `1` | Número da Página

`Text`

- Não usado.

`X`

- Escolhe a coordenada X inicial (relativa ao campo superior esquerda da secção) para posicionar o campo.

`Y`

- Escolhe a coordenada Y inicial (relativa ao campo superior esquerda da secção) para posicionar o campo.

`Width`

- Escolhe a largura do campo.

`Height`

- Escolhe a altura do campo.

`BackgroundColor`

- Escolhe a cor de fundo do campo. Esta cor é definida como um valor RGB ('Red Green Blue', Vermelho, Verde, Azul) (r, g, b). r, g e b devem estar entre 0 e 255.

`ForegroundColor`

- Escolhe a cor principal do campo. Esta cor é definida como um valor RGB ('Red Green Blue', Vermelho, Verde, Azul) (r, g, b). r, g e b devem estar entre 0 e 255.

`BorderColor`

- Escolhe a cor do contorno do campo. Esta cor é definida como um valor RGB ('Red Green Blue', Vermelho, Verde, Azul) (r, g, b). r, g e b devem estar entre 0 e 255.

`BorderWidth`

- Escolhe a largura do contorno do campo.

`BorderStyle`

- Escolhe o estilo do contorno do campo.

  Valor | Estilo do Contorno
  `0` | Nenhum
  `1` | Sólido
  `2` | Traço
  `3` | Ponto
  `4` | Traço Ponto
  `5` | Traço Ponto Ponto

`FontFamily`

- Escolhe a família de letra do texto do campo.

`FontSize`

- Escolhe o tamanho de letra do texto do texto.

`FontWeight`

- Escolhe a espessura da letra do texto do texto.

  Valor | Espessura da Letra
  `25` | Leve
  `50` | Normal
  `63` | Semi-Negrito
  `75` | Negrito
  `87` | Negro

`FontItalic`

- Escolhe ou não colocar em itálico o texto do campo.

  Valor | Itálico
  `0` | False
  `1` | True

`HAlignment`

- Mudar o alinhamento horizontal do texto do campo.

  Valor | Alinhamento Horizontal
  `0` | Esquerda
  `1` | Centro
  `2` | Direita

`VAlignment`

- Muda o alinhamento vertical do texto do campo.

  Valor | Alinhamento Vertical
  `0` | Topo
  `1` | Meio
  `2` | Fundo

`WordWrap`

- Activa ou não a mudança de linha no texto do campo.

  Valor | Mudança de Linha
  `0` | False
  `1` | True

`DateFormat`

- Escolhe o formato de data do campo. Para isto funcionar, o formato da data no documento de dados deve estar no formato mm/dd/aaaa ou mm-dd-aaaa, em caso contrário o formato original de data é utilizado. Se o tipo de dados não for data, escolha o valor `0`.

  Valor | Formato da Data
  `0` | m/d/aa
  `1` | m-d-aa
  `2` | mm/dd/aa
  `3` | mm-dd-aa
  `4` | m/d/aaaa
  `5` | m-d-aaaa
  `6` | mm/dd/aaaa
  `7` | mm-dd-aaaa
  `8` | aaaa/m/d
  `9` | aaaa-m-d
  `10` | dd.mm.aa
  `11` | dd.mm.aaaa

`Precision`

- Escolhe a precisão numérica do campo. Se o tipo de dados não é numérico, escolha 0.