# ReportElement

Abstract element for user-visible elements.

### Description

The abstract report element represents anything that can be named and customized. Most of the major components in ROM derive from the Report Element. These are the elements visible in the GUI: data sets, styles, master pages, report items and so on.

### See Also

ReportItem element

## name

Internal element name used to reference the element within the report design and in scripts.

### Description

ROM report elements can have a name. The name is required for some elements, but is optional for most others. Items that require a name are those that exist to be referenced elsewhere: parameters, data sources, data sets, styles, and so on. Other elements are generally not referenced. The developer provides a name only if the s/he finds it convenient to do so. Names also make it easier to work with components in custom scripts. If the name is omitted, the component is anonymous but can still be found in code by traversing the design hierarchy. See the description of the derived concrete elements for details.

This property provides the name for the element used internally in designer and in user scripts. The name cannot be localized. As noted above, the name is optional for most elements. If the name is provided, it must be unique with its name space (as defined for each element.) Names can contain any character from any language, including spaces, punctuation and so on. ROM names are case-sensitive.

#### XML Summary

<elementName name="value" …>

### See Also

`ReportElementDefn.displayName` property

## extends

Allows an element to extend another element of the same type.

### Description

Most elements can inherit properties, styles and behavior from another element of the same type. For example, a label can inherit from another label. This property identifies the "parent" element by name. The parent must exist. If it does not, the ERD will display an error and the report won’t run.

ROM uses prototype-based inheritance, much like JavaScript. Suppose derived element D extends parent element P. The effective value of the property of element D is found by first looking for the property value in the definition of element D. If the property is not set in element D, then BIRT repeats the search in element P. P may in turn extend yet another element, and the search repeats for P’s parent. The search terminates if when there are no more parent elements to search. In this case, the property takes its default value as defined in this specification.

Style properties use an additional level of search as defined in the style specification.

Some properties do not inherit. These include the Extends property itself, and the Name property. The specification for each property identifies whether or not it inherits.

In Release 1.0, the model and schema supports the extends property, but the GUI does not.

#### XML Summary

<elementName extends="value"…>

### See Also

## comments

Information about this element for people who work on the design.

### Description

The comments provide information about this element for people who work on the design. This text can contain embedded HTML formatting tags; but cannot be localized.

### See Also

## displayName

Provides a user-friendly name for the element.

### Description

The name to show for this element in the UI. Display names are most often used for components put into libraries, or that will be used for the future web reporting tool. The name can be externalized.

The display name is most often provided for reusable components, especially those to be used by casual users within the web report designer.

### See Also

Report Element`name` property

## displayNameID

Message ID property for the display name.

### Description

The display name of the element can be externalized, the ID property will link to an external message key where the user put his message files.

### See Also

## eventHandlerClass

The full qulified name of the event handler class.

### Description

Full quilified name of the event handler class, used to specify an external Java class which define the scripting behavior that will be executed at runtime.