Index ranges
Authors can use the @start
and @end
attributes on
<indexterm>
elements to index extended discussions. Processors
generate index entries that range over several locators.
The start of an index range is indicated by an <indexterm>
with a
@start
attribute. This is called a start
element.
The end of a range is indicated by whichever of the following occurs first:
- An
<indexterm>
element with an@end
attribute with a value that matches the@start
attribute on the<indexterm>
element that begins the range. This is called an end element. - The applicable scope boundary.
The applicable scope boundary depends on the location of the start element:
- Topic body
- End of the topic body.
- Topic prolog
- End of the topic that contains the start element, including any child topics
- DITA map
-
Whichever of the following occurs first:
- End of the topic that the start element references,, including any child topics
- End of the DITA map
- Match
@start
and@end
attributes by a character-by-character comparison with all characters significant and no case folding. occurring - Ignore
@start
and@end
attributes if they occur on an<indexterm>
element that has child<indexterm>
elements. - When index ranges with the same identifier overlap, the effective range is determined by matching the earliest start element from the set of overlapping ranges with the latest end element from the set of overlapping ranges.
- Handle an end-of-range
<indexterm>
element that is nested within one or more<indexterm>
elements. The end-of-range<indexterm>
element should have no content of its own; if it contains content, that content is ignored. - Ignore unmatched end-of-range
<indexterm>
elements.
The @start
and @end
attributes are defined
as CDATA. However, we recommend that authors do not include whitespace characters
(spaces or tabs) or control characters in values for these attributes.