The ROM schema
The ROM schema, written in the XML Schema language, encapsulates the ROM specification. XML Schema provides a standard way of defining the structure, content, and semantics of an XML file. XML Schema is similar to document type definition (DTD). The ROM schema, therefore, contains the formal expression of the content, structure, and semantics of the ROM report design. The ROM schema, design.xsd, is located at:
http://www.eclipse.org/birt/2005/design
Design.xsd is also in the plug-in, org.eclipse.birt.report.model.
A statement similar to the following one appears at the top of every report design, library, or template file:
<report xmlns="http://www.eclipse.org/birt/2005/design"
version="3.2.23" id="1">
BIRT uses this statement, which identifies the version of the schema, to interpret the file structure. A file is not valid if it contains elements that are not defined in the schema or that violate the rules in the schema.
Opening a file using a schema-aware tool such as XMLSpy supports verifying the file against the schema. Using a schema-aware tool also enables a developer of a custom report designer to verify the output of the custom report designer.
The ROM schema defines syntax that supports extensions to BIRT without making changes to the actual schema. For example, an extended item uses the following tag:
<extended-item name="extension">
The ROM schema defines properties using the following syntax:
<property name="propertyName">value</property>
The ROM schema does not define any actual properties. ROM element properties are defined in another file, rom.def.