data-attribute data-attribute-name of (attribute attribute-name (of element-expression)? indexer?) indexer?


Differentiates between attributes that belong to an "entity" or "entities" attribute, and other attributes. It is used in the same way as attribute, so data-attribute references can be used in any context that permits attribute references.

In the syntax, the parentheses are used to eliminate confusion between the two item indexers. The first optional indexer (inside the parentheses) is associated with the attribute of the qualified element or external entity currently being processed. This attribute must be declared as entity or entities. The second optional indexer (outside the parentheses) is associated with the data attribute named in the parenthesized attribute value item.

Note that the attribute keyword can be used in external-data-entity rules to refer to the data attribute of an entity.

The following code illustrates the use of data-attribute:

  element "tableref"
     local integer column-count
     set column-count to number of data-attribute "colwidth" of attribute "name"