<relation> element is being used in an RDF-like way to express a relationship between two arbitrary elements by means of URIs for each element and the relationship itself, the predicate URI is often recorded in the
@ref attribute. This makes the
@name attribute (currently required) a bit redundant, since it contains only xsd:name(s) and not pointers, so at best might contain a more human-readable version of the URI in
Given this usage, I suggest that
@name be made optional on this element. (If we are nervous about allowing relationships to be expressed with no predicate defined, we could add a schematron rule to require one or other of
An alternative might be to make
@name a pointer, but that would break backward compatibility, and seems unnecessary.