Attributes: order of indexing

The attributes and the data-attributes shelves are indexed:

  • in the order in which attributes are declared, when the specified qualifier is not given. The shelf contains all of the declared attributes.
  • in the order in which the attributes occur in the element's start tag or in the external entity's declaration, when the specified qualifier is given.

The following output action gives the value of the first attribute declared for the current element, no matter what its name or where its value is specified in a start tag. The following is in error if there are no attributes declared for the currently opened element, or if the first declared attribute has neither a default nor a specified value:

  output attributes[1]

In the next case the value of the first attribute specified in the start tag is output, no matter what its declared order. (Here the output action is an error if no attributes are specified in the start tag, even if there are declared attributes and they all have default values.)

  output specified attributes[1]