<indexterm>
The content of an <indexterm>
element is used to produce an index
entry in a generated index. You can nest <indexterm>
elements to create
multi-level indexes. The content is not output as part of the topic content, only as part of an
index.
An <indexterm>
element without the @start
or
@end
attribute specified is interpreted as a point reference that
contributes the number of the current page to an index entry; the content of the index entry
is the content of the <indexterm>
element. All
<indexterm>
elements with the same content are "merged" to form a
single index entry in the resulting index, and all contributed page numbers are included in
that index entry.
In the case of nested <indexterm>
elements, each
<indexterm>
with no <indexterm>
children
(the "leaves") contributes a page number to the generated index; the ancestral
<indexterm>
elements for each leaf
<indexterm>
provide the higher levels for the multilevel entry.
An <indexterm>
that occurs in a topic <prolog>
is
interpreted as a point reference to the title of the topic. Likewise, in a DITA map, an
<indexterm>
that occurs in <topicmeta>
inside of a <topicref>
is interpreted as a point reference to the
title of the referenced topic.
It is an error if an <indexterm>
containing no
<indexterm>
children contains both an
<index-see>
and an <index-see-also>
. (Note:
<index-see>
and <index-see-also>
elements
within <indexterm>
elements that do contain
<indexterm>
children are ignored.) In the case of this error
condition, an implementation MAY give
an error message, and may (but need not) recover by treating all such
<index-see>
elements as <index-see-also>
elements.
<index-see>
and <index-see-also>
elements
are domain specializations of the <index-base>
element, and are discussed in detail with
the indexing domain.The @start
and @end
attribute on
<indexterm>
can be used in cases where one wants to index an
extended discussion that may continue over a number of pages. The start of a range is
indicated by an <indexterm>
with a @start
attribute.
The end of a range is indicated with an <indexterm>
with an
@end
attribute whose value matches that of the @start
attribute on the start-of-range <indexterm>
. Such markup contributes
to the generated index a page range covering all pages in the index range.
The end-of-range <indexterm>
should have no content of its own; if it
contains content, that content is ignored. There is no reason for the end-of-range
<indexterm>
to have any <indexterm>
ancestors; however, an implementation should be able to handle an end-of-range
<indexterm>
that is nested within one or more
<indexterm>
elements.
The @start
and @end
attributes are defined as CDATA, though it is
recommended that the values should not contain any whitespace characters (such as a space or
tab) or control characters. Matching of @start
and @end
attributes is done as a character-by-character comparison with all characters significant
and no case folding occurring. The @start
and @end
attributes are ignored if they occur on an <indexterm>
element that
has child <indexterm>
elements.
<topicmeta>
of a
<topicref>
at the map level, in the prolog of a topic, or in the
body of a topic, and are interpreted as follows (see Figure 3 for samples):<topicref>
. The end range points to
the end of the final child contained by the topic being referenced by its containing
<topicref>
, or to the end of the final topic referenced by the
current map (whichever comes first). When a start and end range occur in the same
<topicmeta>
, the range applies to the containing
<topicref>
and its children.<indexterm>
occurs and ends at the matching index range end
indication within the same body, or at the end of the body, whichever comes first. Such
an index range does not span sub-topics of the topic.When index ranges with the same identifier overlap, the widest range applies, and end ranges are matched with start ranges by last-in-first-out. In other words, the ranges are interpreted as nested rather than overlapping with the highest-level container taking precedence over narrower contained ranges.
As defined above, there is no such thing as an index range start that isn't terminated by either a matching end or some maximum scope. There can, however, be unmatched index range end indications; these should be ignored.
See appendix for information about this element in OASIS document type shells.
- topic/indexterm
<indexterm>
is a point reference to a specific paragraph
within a topic:
<p><indexterm>databases</indexterm>Databases are used to ...</p>
<indexterm>
is a point reference to the start of the title
of the
concept:<concept id="db"> <title>About databases</title> <prolog> <metadata> <keywords><indexterm>databases</indexterm></keywords> </metadata> </prolog> <body><!-- content... --></body> </concept>
<indexterm>
is a point reference to the start of the title
of
aboutdatabases.dita:<topicref href="aboutdatabases.dita"> <topicmeta> <keywords><indexterm>databases</indexterm></keywords> </topicmeta> <!-- other topicref elements --> </topicref>
<indexterm>cheese <indexterm>sheeps milk <indexterm>pecorino</indexterm> </indexterm> <indexterm>goats milk <indexterm>chevre</indexterm> </indexterm> </indexterm>
<indexterm>cheese <indexterm>sheeps milk <indexterm>pecorino</indexterm> </indexterm> </indexterm> <indexterm>cheese <indexterm>goats milk <indexterm>chevre</indexterm> </indexterm> </indexterm>
<indexterm start="cheese">Cheese</indexterm> <!-- ... additional content --> <indexterm end="cheese"/>
<indexterm>cheese <indexterm>sheeps milk <indexterm start="level-3-pecorino">pecorino</indexterm> </indexterm> </indexterm> <!-- ... additional content ... --> <indexterm end="level-3-pecorino"/>
There are three locations that may declare a range - the body of a topic, the prolog of a topic, and a map.
<topic id="accounting"> <title>Accounting regulations</title> <body> <p>Be ethical in your accounting.</p> <p><indexterm start="acctrules">Rules</indexterm>Remember to do all of the following: ...</p> <!-- ...pages worth of rules... --> <p><indexterm end="acctrules"/>Failure to comply will get you audited.</p> </body> <!-- Potential sub-topics --> </topic>
<topic id="accounting"> <title>Accounting rugulations</title> <prolog> <metadata> <keywords><indexterm start="acct">Accounting</indexterm></keywords> </metadata> </prolog> <!-- Body and sub-topics --> </topic>
<topicref href="acct.dita"> <topicref href="procedures.dita"/> <topicref href="forms.dita"/> </topicref>
<topicref href="acct.dita"> <topicmeta> <keywords> <indexterm start="acct">Accounting</indexterm> <indexterm end="acct"/> <indexterm start="govt">Government forms</indexterm> </keywords> </topicmeta> <!-- Nested topicref elements --> </topicref> <topicref href="taxfiling.dita"> <topicmeta> <keywords> <indexterm end="govt"/> </keywords> </topicmeta> </topicref>
<ph>
or <ph>
specializations<p>Einstein's most famous equation E=mc<sup>2</sup><indexterm>E=mc<sup>2</sup></indexterm> expresses the relationship between mass and energy.</p>
All the elements in the highlighting domain are specializations of
<ph>
.
The following attributes are available on this element: Universal attribute group, @keyref
, and the
attributes defined below.
Return to main page.
dita-v1.3-csprd01-part1-base Standards Track Work Product | Copyright © OASIS Open 2015. All Rights Reserved. | 30 June 2015 |