IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Developing monitor models > What are monitor models? > Monitor XML schema definition (monitor.xsd)

ID uniqueness constraints

The XML schema uses ID attributes to uniquely identify elements. IDs are also used to produce unique and valid names for the database objects that represent model objects, such as the name for the table used to store monitoring context instances. Each ID must be an XML non-colonized name (NCName), which means that it must start with a letter or underscore and that it can contain only letters, digits, underscores, hyphens, and periods.

For each monitoring context in the monitor model, one table is created in the Monitor database. Each metric is represented as a column in the table. For optimal performance, you can enable the data movement service for a monitor model. The data movement service copies the table data to a duplicate table that is optimized for dashboard queries.

Unsupported characters in database table and column names are removed when the code is generated. The unsupported characters are backslash (\), forward slash (/), colon (:), asterisk (*), question mark (?), single quotation mark ('), open angle bracket (<), close angle bracket (>), and pipe (|).

The monitoring context ID must be unique within the monitor model. Monitoring context IDs can differ by any character, including double-byte characters. IDs are not case sensitive.

Otherwise, the ID attribute on a given element does not need to be globally unique in the scope of the entire XML instance document. The ID attribute on a particular element must be unique only among the set of ID attributes on sibling elements (regardless of their type). A parent element must not have two or more child elements with the same ID attribute value.

For example, the following snippet is not valid, because the ID value of myId is used more than once in the <monitoringContext> element:

<monitoringContext id='myId'>
		<trigger id='myId'/> 
		<inboundEvent id='myId'/>
</monitoringContext>

The following snippet is valid:

<monitoringContext id='myId'>
		<trigger id='myId'/> 
		<monitoringContext id='myId2'>
			<inboundEvent id='myId'/>
			<inboundEvent id='myId2'/>
		</monitoringContext>
</monitoringContext>

Monitor XML schema definition (monitor.xsd)