Single-Element Functions : List of Functions : stm_r_xx_attr_val

stm_r_xx_attr_val
Retrieves attribute values associated with a particular attribute name for the specified element.
You can call this function without indicating the specific element type, as follows:

stm_r_attr_val (id, attr_name, status)

Function type
LIST OF STRING
For elements
Syntax
stm_r_xx_attr_val (xx_id, attr_name, status)
Arguments
If attr_name does not exist for the specified element, status receives the value stm_attribute_name_not_found.
Note the following:

Attribute values might exist for attributes with no name. Therefore, if you supply contiguous apostrophes (’’) for attr_name, you retrieve all values for unnamed attributes.

In most cases, attributes have only one value. However, there are some cases where more than one attribute value is simultaneously meaningful. For example, a module has an attribute implementation. The attributes software and hardware might both be meaningful for some modules. Therefore, Statemate provides the capability of assigning multiple values to attributes, and the function returns a list of these values. When there is a single value, the list consists of one component.

Status Codes
Example
The following code prints the attribute values of all the attributes defined for the state WAIT:

VARIABLE
STATE st_id;
LIST OF STRING attr_list;
STRING attrib, value;
INTEGER status;
.
.
.
st_id := stm_r_st (’WAIT’, status);
attr_list :=stm_r_st_attr_name (st_id, status);
FOR attrib IN attr_list LOOP
FOR value IN stm_r_st_attr_val (st_id, attrib, status)
LOOP
WRITE (’\n’, attrib,’ is ’,value);
END LOOP;
END LOOP;
.
.
.

attr_list contains a list of attributes for WAIT. Write the attribute values for each item in this list to the document.