OASIS DocBook TC2

 View Only

RFE 714764 - 'typed' indexes

  • 1.  RFE 714764 - 'typed' indexes

    Posted 05-22-2003 10:17
    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