| Syntax 
   specified? data-attributes
     (of (attribute-reference))?
 Purpose
 
 Allows all declared attributes of entities named in an entityorentitiesattribute of an element to be treated as a shelf (to a certain extent), as follows: The name of the attribute is named as key.
The value of the attribute is obtained from the value of the item.
 The key value used to index data-attributesshould always be uppercased when SGML parsing is involved and whennamecase general yesapplies to the SGML document being processed. Unlike names in OmniMark programs, string values used as keys are not automatically uppercased - - doing so is the OmniMark programmer's responsibility. Uppercasing can be done by directly entering the appropriately uppercased values or by using theuformat modifier. The data-attributes shelf differs from other shelves in not having a current item. In addition, even though some of the items on the data-attributes shelf may be list-valued, "double-indexing" is not allowed. The usingprefix can be used to accomplish double-indexing. To reference the attributes of a specific entity named in an entity or entities attribute, the data-attributes shelf can be qualified in the same ways as data-attribute references.
 The data-attributes shelf is indexed as follows:
 data-attribute values are indexed in the order in which the attributes are declared when the specifiedqualifier is not givendata-attribute values are indexed in the order in which they occur in the external entity's declaration when the specifiedqualifier is given
 The following illustrations how a repeat overcan be used to iterate over thedata-attributesshelf:
   repeat over specified data-attributes of (attribute ref) as this-one
     output key of data-attribute this-one
     output "='%v(this-one)'%n"
  again
 |