One of the reasons for using elements for this sort of content is that
it is easier to validate. If I go down this road of moving content to
attributes (first/subsequent, etc.), it probably means this will always
be a RELAX NG-only schema. XML Schema is dumb about attributes (and
about order, which is already a problem).