indexterm (db.indexterm.startofrange)

indexterm — A wrapper for an indexed term that covers a range.


indexterm (db.indexterm.startofrange) ::=


Common attributes and common linking attributes.

Additional attributes:

  • class (enumeration)
    • “startofrange”
  • pagenum
  • scope (enumeration)
    • “all”
    • “global”
    • “local”
  • significance (enumeration)
    • “normal”
    • “preferred”
  • type
  • zone (IDREFS)

Required attributes are shown in bold.


A “start of range” indexterm marks the start of a range. It must have an associated “end of range” indexterm. The resulting index entry applies to the entire range. See indexterm (db.indexterm.singular).


The xml:id attribute will be made required in DocBook V6.0.

A Schematron constraint will be added to assert that for every “start of range” index term, there is exactly one “end of range” index term that points to it.

Processing expectations

See indexterm (db.indexterm.singular).

It is possible to construct index terms that are difficult to parse at best and totally illogical at worst. Consider the following:

<indexterm class='startofrange' zone="id1 id2">...</indexterm>

There is no way that this can fit into the semantics of an indexterm. Although it claims to be the start of a range, it does not have an xml:id for the end-of-range indexterm to point back to. In addition, it includes zoned terms, and mixing the two different methods for indicating a range in the same indexterm is probably a bad idea.


Common attributes and common linking attributes.


Identifies the class of index term

Enumerated values:

The start of a range


Indicates the page on which this index term occurs in some version of the printed document


Specifies the scope of the index term

Enumerated values:

All indexes


The global index (as for a combined index of a set of books)


The local index (the index for this document only)


Specifies the significance of the term

Enumerated values:





Specifies the target index for this term


Specifies the IDs of the elements to which this term applies


These elements contain indexterm: abbrev, accel, acknowledgements, acronym, address, annotation, answer, appendix, application, arg, article, artpagenums, attribution, authorinitials, bibliocoverage, bibliodiv, bibliography, biblioid, bibliolist, bibliomisc, bibliomixed, bibliomset, bibliorelation, bibliosource, blockquote, bridgehead, callout, calloutlist, caption (db.caption), caption (db.html.caption), caution, chapter, citation, citebiblioid, citetitle, city, classname, classsynopsisinfo, code, colophon, command, computeroutput, confdates, confnum, confsponsor, conftitle, constant, constraintdef, contractnum, contractsponsor, contrib, country, database, dedication, description, edition, email, emphasis (db._emphasis), emphasis (db.emphasis), entry, envar, errorcode, errorname, errortext, errortype, example, exceptionname, fax, figure, filename, firstname, firstterm (db._firstterm), firstterm (db.firstterm), footnote, foreignphrase (db._foreignphrase), foreignphrase (db.foreignphrase), formalpara, funcdef, funcparams, funcsynopsisinfo, function, givenname, glossary, glossdef, glossdiv, glossentry, glosslist, glosssee, glossseealso, glossterm (db._glossterm), glossterm (db.glossterm), guibutton, guiicon, guilabel, guimenu, guimenuitem, guisubmenu, hardware, holder, honorific, important, index, indexdiv, informalexample, informalfigure, informaltable (db.cals.informaltable), initializer, interfacename, issuenum, itemizedlist, jobtitle, keycap, keycode, keysym, label, legalnotice, lineage, lineannotation, link, listitem, literal, literallayout, manvolnum, markup, mathphrase, member, methodname, modifier, mousebutton, msgaud, msgexplan, msglevel, msgorig, msgtext, note, olink, option, optional, orderedlist, orgdiv, orgname, otheraddr, othername, package, pagenums, para, paramdef, parameter, partintro, personname, phone, phrase (db._phrase), phrase (db.phrase), pob, postcode, preface, primary, primaryie, procedure, productname, productnumber, programlisting, prompt, property, publishername, qandadiv, qandaset, question, quote (db._quote), quote (db.quote), refdescriptor, refentry, refentrytitle, refmeta, refmiscinfo, refname, refpurpose, refsect1, refsect2, refsect3, refsection, refsynopsisdiv, releaseinfo, remark, replaceable, result, returnvalue, revdescription, revnumber, revremark, screen, secondary, secondaryie, sect1, sect2, sect3, sect4, sect5, section, see, seealso, seealsoie, seeie, seg, segtitle, seriesvolnums, setindex, shortaffil, sidebar, simpara, simplesect, state, step, street, subscript, subtitle, superscript, surname, symbol, synopsis, systemitem, table (db.cals.table), tag, taskprerequisites, taskrelated, tasksummary, td, term, termdef, tertiary, tertiaryie, textobject, th, tip, title, titleabbrev, toc, tocdiv, tocentry, token, topic, trademark, type, uri, userinput, variablelist, varname, volumenum, warning, wordasword, year.


The following elements occur in indexterm: primary, secondary, see, seealso, tertiary.


<chapter xmlns=''>
<title>Example Chapter</title>

<!-- index term for "Example Chapter" is a span -->
<indexterm xml:id="idxexchap" class='startofrange'>
  <primary>Example Chapter</primary></indexterm>

<!-- index term for "Example Chapter" also cross references the 
     "Examples" entry in the index -->
<indexterm><primary>Example Chapter</primary>

<!-- index term for "Chapter, Example" refers the reader to the entry
     under which the index term is actually listed, "Example Chapter" -->
  <see>Example Chapter</see></indexterm>

<!-- other content -->

<!-- index term, end of "Example Chapter" span -->
<indexterm startref="idxexchap" class="endofrange"/>

<para>some content</para>