Key-based addressing
When using DITA topics in the context of different maps, it is often necessary to have a relationship resolve to different resources. For example, a content reference to a <ph> element that contains a product name might need to resolve to a different <ph> element when used in a different product-specific map. The DITA key-reference mechanism provides an indirect addressing mechanism that separates references (topicrefs, conrefs, cross references, etc.) from the direct address of the target. (A direct address is the address specified on the element that references the key, for example via @href or @conref.) Linking elements can refer to key names; the key names then are bound to specific resources by maps. Different maps can bind the same key names to different resources. This form of indirection is late bound, because the binding of key names to resources is determined at processing time based on the current set of key definitions for the map context rather than from a static binding that is created when a topic or map is authored.
To address a review #3 comment from David Helfinstine, I broke the original topic (11 pages!) down into four child topics. (Caveat: This was quick and dirty work on an area that wasn't my primary responsibility.) This area needs additional work, so I did not add <shortdesc> elements for all new topics. I have the following concerns: