This is the mail archive of the docbook@lists.oasis-open.org mailing list for the DocBook project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[docbook] RFE 714764 - 'typed' indexes


Hi Stefan,

You wrote:

> Norman Walsh wrote:
> 
> > |      714764 new classifier attrib for <indexterm> and <index>
> >
> > Norm observes that one of the reasons this doesn't often arise in
> > DocBook (as opposed to TeXinfo) is because we already have semantic
> > markup for many of the things you would put in a different index.
> >
> > For example, if you wanted a index of functions, I wouldn't expect to
> > add <indexterm class="function"> for all the functions, I'd expect to
> > index the elements marked as <function>s.
> >
> > ACTION: Norm to describe how this might be done using stylesheet
> > customization based on function and variable markup, for example.
> 
> my main reason to propose an indexterm 'class' (I think i suggested 'type')
> attribute was that it would be far more flexible. Indeed your example
> of a function index would probably work with a customized stylesheet.
> However, 'function' is just one possible candidate for 'things to create
> indexes of'.

I think your proposal has merit and would like to see it discussed more
on the list. To summarize, what you've proposed is:

  DTD change: Add one new attribute (call it 'type') to the Indexterm
  and Index elements.
  
  Purpose: To facilitate 'typing' or 'classifying' of index terms and
  indexes (on the output side, to make it possible to generate multiple
  indexes based on index-term types).

Here are some assorted thoughts in support of the proposal:

  * there's a already at least one precedent for typed-index SGML/XML
    markup: TEI already provides the equivalent of what's been proposed
    ('typing' attributes on its index-marker and index elements).

  * while it's true that you can generate indexes based on specific
    elements (e.g., the Function element), indexes generated in that way
    will lack the features available from Indexterm; for example:

      - as children of Indexterm, you can use Secondary, Tertiary,
        See and SeeAlso elements to structure your generated Index into
        multiple levels; indexes generated from 'normal' elements will
        only have a flat, one-dimensional structure

      - Indexterm also has specialized attributes; for example:

        * Zone, which makes it possible to place your Indexterms
          anywhere you want in document (e.g., you can collect them all
          together if you want, instead of needing to physically place
          them in the part of the document you want to index)

        * class=StartofRange, class=EndOfRange, and StartRef, which
          enables you to mark ranges of your document to index (which,
          for paginated output give you page ranges in your index)

   * it's conceivable that some people might want to do index typing not
     based strictly on the semantic markup in their documents, but on
     other arbitrary associations between bits of their content that may
     not be captured by the markup

> Please note that Texinfo also provides macros for the most common indexes,
> though that are just convenience 'short cuts', as the generic way is to
> specify indexes for user defined types.

I think your proposed DTD change would faciliate implementation (in the
stylesheets or other processing applications) of a similar "off the
shelf" mechanism for generating multiple typed indexes -- one that would
not require stylesheet customization.

  --Mike

Attachment: pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]