This is the mail archive of the
docbook-apps@lists.oasis-open.org
mailing list .
Re: Index and Glossary references
- From: Bob Stayton <bobs at caldera dot com>
- To: Stephan Wiesner <stephan at stephan-wiesner dot de>,docbook-apps at lists dot oasis-open dot org
- Date: Wed, 06 Nov 2002 11:38:21 -0800
- Subject: Re: DOCBOOK-APPS: Index and Glossary references
- References: <001a01c28566$ee755320$4900a8c0@littleone>
On Wed, Nov 06, 2002 at 08:34:24AM +0100, Stephan Wiesner wrote:
> Hi list,
> When I create an index (using XML and Saxon) and I want to take a
> glossary term referenced in the text into it I encounter the following
> problem.
>
> This is my glossary term:
> <glossentry id="glossDocBook">
> <glossterm>DocBook</glossterm>
> <acronym id="glossDocBookA">DocBook</acronym>
> <glossdef>
> <para>
> DocBook is a very popular set of tags for describing books,
> articles,
> ...
> </glossdef>
> </glossentry>
>
>
> And here is the reference:
> <para><indexterm><primary><xref linkend="glossDocBook"
> endterm="glossDocBookA"/>
> </primary></indexterm><xref linkend="glossDocBook"
> endterm="glossDocBookA"/>
> is cool.
> </para>
>
> The displayed text is correct: DocBook (which is a link to the glossary
> )
> The generated index, however, contains just the pagenumber, but the Term
> is left empty.
> It works fine, when I don't use the reference link for it:
> <para><indexterm><primary>MyDocBook
> </primary></indexterm><xref linkend="glossDocBook"
> endterm="glossDocBookA"/>
> is cool.
> </para>
>
> Now the text contains "DocBook" and the index contains "MyDocBook",
> which I consider correct.
I looked at how the indexing templates work, and they
are using string functions applied to <indexterm> subelements
like <primary>. When you process an element in the context
of a string, you get just the text data from the
element. Since <xref/> is empty, it has no text data, so
the index term is processed as if it were empty.
There is no "apply-templates" step that would resolve the
xref to text.
I don't know how hard it would be to change that behavior.
--
Bob Stayton 400 Encinal Street
Publications Architect Santa Cruz, CA 95060
Technical Publications voice: (831) 427-7796
Caldera International, Inc. fax: (831) 429-1887
email: bobs@caldera.com