Hi, and thank you Bob for helping me solve this issue. No error messages from FOP whatsoever The fo:page-number-citation element references the correct id But, the target glossdiv fo:block did not have the id attribute from the glossdiv
Seems like the template matching d:glossdiv in glossary.as.list mode in fo/glossary.xsl does not put id on the fo:list-block. I solved this by copying the template to my customization layer, declaring an id variable (calling object.id), and adding that id to the fo:list-block. For a complete solution of issue 2 in my original post, I ended up with three small templates in addition to the above: 1. d:glossary in mode=toc which does apply-templates of d:glossdiv in mode=toc 2. d:glossdiv in mode=toc which calls toc.line with the current object 3. d:glossdiv in mode=label.markup selecting value-of @label Best regards, Bergfrid Skaara On Mon, Feb 8, 2010 at 7:31 PM, Bob Stayton <[email protected]> wrote: > Can you take a peek inside the FO output to see if the target glossdiv > fo:block has the id attribute from the glossdiv? And can you check that the > fo:page-number-citation element references the same id? Do you get any > error messages from FOP about unresolved references? > > Bob Stayton > Sagehill Enterprises > [email protected] > > > > ----- Original Message ----- > *From:* Bergfrid Skaara <[email protected]> > *To:* Bob Stayton <[email protected]> > *Cc:* DocBook Apps <[email protected]> > *Sent:* Monday, February 08, 2010 5:06 AM > *Subject:* Re: [docbook-apps] customizing glossaries (as list, FO output) > > I have a small problem implementing the suggested customization for > glossdiv in mode=toc (question 2 in original post). My customization (1.75.2 > with FOP) produces the correct output (a TOC with one line for each glossdiv > in the glossary "A............"). The problem is that I get *no page > number* at the end of each line. The lines are produced by calling the > stock toc.line (fo/autotoc.xsl) template with the glossdiv as param. It > seems like fo:page-number-citation outputs an empty string. All glossdivs > have an xml:id attribute and I've verified that $id has the correct value > when used as ref-id. > > Suggestions? > > Best regards, > Bergfrid Skaara > > > On Thu, Jul 23, 2009 at 7:08 AM, Bob Stayton <[email protected]> wrote: > >> Some answers below, prefaced by "BOB:". >> Other answers may follow as time and research permit. >> >> >> Bob Stayton >> Sagehill Enterprises >> [email protected] >> >> >> ----- Original Message ----- From: Bergfrid Skaara >> >> To: [email protected] >> Sent: Monday, July 20, 2009 1:47 AM >> Subject: [docbook-apps] customizing glossaries (as list, FO output) >> >> >> >> Hi, I'm having multiple customiztion problems related to glossaries in FO >> output: >> >> 1. I've set the glossary.sort parameter to 1, but I would like space and >> hypens to be ignored when sorting (so that you get ca, car, ca-range and >> not >> ca, ca-range, car). I've looked at the normalize.sort.input and >> normalize.sort.output gentext templates (en-US), but I can't see how >> changing them will give the desired result. >> >> 2. In our standalone glossary, the root element is book, directly followed >> by an info element and then the glossary itself (which has glossdivs and >> xincludes from modular files). Now, the TOC contains one entry, >> "Glossary", >> and the PDF bookmarks are "Table of Contents" and "Glossary". I would >> like >> to replace entries saying "Glossary" with a list of glossdivs (the title >> is >> the letters a-z), is this possible? >> >> BOB: TOC entries are generated by processing document nodes in mode="toc". >> The default template in that mode for glossary just outputs the "Glossary" >> line. Customize this template: >> >> <xsl:template match="bibliography|glossary" >> mode="toc"> >> >> so that it does xsl:apply-templates mode="toc" to its children, and then >> add >> templates in that mode for the children. If this is too brief an >> explanation, >> please ask for details. >> >> >> 3. Some glossentries have multiple glossdefs; is it possible to >> automatically enumerate the glossdefs for such entries? If yes, which >> templates must be overridden? >> >> BOB: Customize this template from fo/glossary.xsl: >> >> <xsl:template match="glossentry/glossdef" mode="glossary.as.list"> >> >> and possibly also this one if you want to use a nested fo:list-block for >> multiple entries: >> >> <xsl:template match="glossentry" mode="glossary.as.list"> >> >> The match="glossentry" template must generate the fo:list-block, and the >> template for each glossdef should generate each fo:list-item. >> >> >> 4. Some time ago, I posted a message about modular glossaries in which we >> replace the otherterm attributes with xlink:href attributes (sorry, I >> can't >> find the post). The suggested customization (from Bob) was for glosseealso >> elements. I've since then tried to use the same pattern for glossee >> elements, and ran into problems with the "See" gentext". With glosseealso, >> "See also" is correctly inserted at the beginning of the line before the >> links, but with glossee I do not get the "See" gentext before the link. >> Which template calls the gentext in these cases? >> >> 5. Is there an easy way to override text alignment just for glossaries? >> I've >> currently copied the template matching d:glsosdiv in mode glossary.as.list >> to add text-align parameter to teh fo:list-block . It would be nice if >> there >> were something like the attribute set for indexes: index.entry.properties. >> >> Working with stylesheets 1.75.1 >> >> BOB: Starting with 1.75.0, some attribute-sets were added to control >> formatting of the glossary entries: >> >> >> http://docbook.sourceforge.net/release/xsl/current/doc/fo/glossterm.list.properties.html >> >> http://docbook.sourceforge.net/release/xsl/current/doc/fo/glossdef.list.properties.html >> >> http://docbook.sourceforge.net/release/xsl/current/doc/fo/glossterm.block.properties.html >> >> http://docbook.sourceforge.net/release/xsl/current/doc/fo/glossdef.block.properties.html >> >> >> >> Best regards, >> Bergfrid Skaara >> >> >
