# Data Types

The following lists the data types used within this specification. The JavaScript types below are the types of the design-time information. See the specification if there is an additional run-time type. (For example, an expression is a string at design time, but will evaluate to a string or integer or other value at runtime.)

A property can be a list: in this case the property is a list of values such as structures, strings, etc.

#### Property Lists

A list property is defined as being a “list of x” where x can be one of the simple data types, or one of the structures defined below. A list property is represented as an array in JavaScript. For example, the list of custom colors for a report design is represented by a list property. The following obtains the structure that defines the third custom color:

    var colorDefn = designDefn.palette[ 2 ];

A property list is composed of a series of values. In general, the values appear in the list in the same order that they appear in the report design XML file, which generally reflects the order in which they were created in the UI.

## boolean

A simple true/false value.

### Description

Provides a simple true/false value. The values are represented by the JavaScript true and false values in scripts and expressions. They are represented as "true" and "false" in the XML file.

### See Also

## choice

The value must be selected from a predefined list of choices.

### Description

The choice property type indicates that a property provides a fixed set of choices. Any property of this type must also provide a separate list of the choices. The list of choices is defined as a separate named "choice set."

### See Also

## color

An RGB color value or color name.

### Description

Represents a color. Colors can use the CSS color names, a CSS-format RGB value (#RRGGBB), or a custom color name defined within the report.

### See Also

## dateTime

A date/time value.

### Description

A date/time value in (what format?) Not used in Release 1.

### See Also

## dimension

A physical dimension.

### Description

A CSS dimension. The units are expressed as a floating point number such as “1.25”. To override that default, specify a suffix as one of “in” (inches), “mm” (millimeters), “cm” (centimeters), “pt” (points), “pc” (picas), “%” (percent), “em” (“em” size for the current font) or “ex” (“ex” size for the current font.)

A dimension is a physical measurement. Dimensions always have a unit. Supported units include the following defined in CSS:

Unit Suffix | Meaning
cm | Centimeters
in | Inches
mm | Millimeters
pt | Points (1/72 of an inch)
pc | Pica (1 pica is equal to 12 points)
px | Pixels. (For print, see the CSS spec. A pixel is about 0.21 mm.)
em | ems, the height of the element's font
ex | x-height, the height of the letter 'x'
% | Percentage. The definition of each property identifies the container property from which the value is computed.

### See Also

## element

A reference to another element in the design.

### Description

A reference to another element in the design. BIRT automatically updates the property when the name of the referenced element changes. BIRT will issue an error if the target element does not exist.

### See Also

## expression

A JavaScript expression.

### Description

A BIRT expression using JavaScript and the BIRT extensions.

### See Also

## extends

Identifies the parent element for elements that extend (inherit from) other elements.

### Description

A reference to a parent element of the same type as the derived element. This property type is used in just one place to implement element inheritance.

### See Also

## float

A decimal number such as "1", "1.33" or "2.5."

### Description

A floating-point number. Not used in Release 1.

### See Also

## html

Represents a html value

### Description

Property that stores html value. Model doesn't do validation to this property type.

## integer

An integer in the range 0 to 232 - 1.

### Description

### See Also

## name

The name field of a structure within a property defined as a structure list.

### Description

Identifies a property within a structure that provides the name to be used for associative lookup in property lists.

#### Associative Property Lists

All property lists allow numeric indexes. Some also allow associative lookup using the name of an item in the list. For example, to look up the custom color: “seaGreen”:

    var colorDefn = designDefn.palette.seaGreen

or,

    var colorDefn = designDefn.palette[ “seaGreen” ]

The first form can be used when the name to be looked up is known when the code is written, and follow the JavaScript identifier naming rules. The second form can be used to look up a value when the value is not known ahead of time, or when the name does not follow JavaScript identifier rules. For example:

    var colorDefn = designDefn.palette[ params.colorName ];
    var colorDefn = designDefn.palette[ “Sea-Green” ]

The associative lookup is provided when:

- The list contents are structures, and
- Exactly one of the properties within the structure is of type Name.

### See Also

## number

Arbitrary-precision decimal number

### Description

An arbitrary-precision decimal number. Is accurate enough to represent the largest currency amounts down to two decimal places.

### See Also

## resourceKey

A string that should match a message in the customer's message category.

### Description

A string value, which should match a message in the customer's message category. It allows user to localize an exteralizable property

## script

Stores a block of script value that can be executed at runtime.

### Description

A block of script value that is to be executed at runtime, script are not validated in model at design-time

## string

A string value.

### Description

A string value. The string cannot be externalized.

### See Also

## structRef

Represents a reference to another structure.

### Description

Simply references to another structure, it can be in two states: resolved or unresolved.

## uri

A Uniform Resource Identifier (URI).

### Description

A URI of the form "http:", "file:", "iServer:", or "mailto:".

### See Also

## xml

An XML string.

### Description

Text in XML format. Is often a fragment of XML rather than a complete file. The use of this property tells the design file writer to enclose the value in a CDATA block.

### See Also

## structure

The property is given by a structure

### Description

A structure property is one made up of a set of named fields. Structure properties are often lists.

### See Also