Previous Topic: Enum DefinitionNext Topic: Class Statement


Group Definition

A group is a collection of one or more attributes. Groups let component providers arrange attributes into logical sets. Groups can also be used to represent arrays (tables) of attributes. The use of groups lets logical subsets in a component be standardized across vendors.

The syntax of a group definition is:

start group
	name = "group name"
	class = "class string"
	[id = nnn]
	[description = "description string"]
	[key = nnn[,mm]...]
	(attribute definitions go here)
end group

The ID statement, if provided, must have a value unique among other groups in the component. Specifying a group ID without a key means that this group definition defines a group. If both id and key are provided, the group definition represents a table managed by the component instrumentation code. Any subsequent table definitions (defined following) in the component definition cannot use this group definition as a template.

If the key statement is provided and the id statement is not provided, the group definition represents a template row in a to-be-defined table, and the value statements (defined following) refer to default values in the row. A table definition may follow to populate the table based on the template. For more information, see the section on table definition. The following table describes the possibilities:

Key?

ID?

Result

No

No

Error

No

Yes

Scalar group. Not table. Id is group's ID.

Yes

No

Template. Table definitions may follow.

Yes

Yes

Table. Id is table's ID. Can be used as template later.

Many groups can be defined in the component.