Processing key references on <topicref> elements
While <topicref> elements are used to define keys, they also
can reference keys that are defined elsewhere. This topic explains how to evaluate key
references on <topicref> elements and its
specializations.
For topic references that use the @keyref attribute, the effective value
of the <topicref> element is determined in the following way:
- Determining the effective resource
-
The effective resource bound to the
<topicref>element is determined by resolving all intermediate key references. Each key reference is resolved either to a resource addressed directly by URI reference in an@hrefattribute, or to no resource. Processors MAY impose reasonable limits on the number of intermediate key references that they will resolve. Processors SHOULD support at least three levels of key references.Note: This rule applies to all topic references, including those that define keys. The effective bound resource for a key definition that uses the@keyrefattribute cannot be determined until the key space has been constructed. - Combining metadata
-
Content from a key-defining element cascades to the key-referencing element following the rules for combining metadata between maps and other maps and between maps and topics. The
@lockmetaattribute is honored when metadata content is combined.The combined attributes and content cascade from one map to another or from a map to a topic, but this is controlled by existing rules for cascading, which are not affected by the use of key references.
If, in addition to the @keys attribute, a key definition specifies a
@keyref attribute that can be resolved after the key resolution
context for the key definition has been determined, the resources bound to the
referenced key definition take precedence.