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


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

Re: Index and Glossary references


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


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