repeat over attributes

control structure

repeat over specified? attributes (of element-expression)? as alias-name


An action that can be used to iterate over all the attributes that are:

  • declared for an element or external entity,
  • specified in an element start tag or external entity declaration, or
  • associated with an element or external entity that has a value.

repeat over attributes must specify an alias-name following as. This name is used to identify the attribute selected for each iteration within the repeat over action. Any valid OmniMark name can be used.

For example:

  repeat over specified attributes as this-one
     output key of attribute this-one
     output "='%v(this-one)'%n"

Use of the keyword attributes followed by alias-name, without qualifiers, inside the repeat over data-attributes action always refers to the attribute identified by the alias.

To refer to an attribute of the currently opened element with the same name as the alias-name being used, use the element qualifier of element. An element-expression always indicates that the attribute belongs to the identified, currently opened element.

If a repeat over action in the input processor iterates over a set of attributes or over the tokens of an attribute, or if an attribute or attribute token is identified by a using prefix, all text written to the #markup-parser stream will be "buffered" in the same manner.