If you use /usr/bin/collateindex.pl to generate an index from indexterms, it adds an extra comma to the generated index file, causing it not to parse correctly. For example, if you have the following indexterm definitions: <indexterm> <primary>file system</primary> <secondary>ext3</secondary> <seealso><command>mkfs</command></seealso> </indexterm> <indexterm> <primary>file system</primary> <secondary>ext3</secondary> <seealso><command>e2label</command></seealso> </indexterm> It generates an HTML index that looks like this: file system ext3, Formating ext3 File Systems with mkfs See also mkfs , Assigning a Label with e2label See also e2label
I can't figure out how to use collateindex.pl. Can you give me a step-by-step list of what to do, along with a complete (but minimal) input file? Thanks.
Created attachment 56045 [details] Example SGML file with 2 seealso index terms
I attached a sample file that produces the error. You can run db2indexed-html from the docs-stuff CVS module on devserv. It runs collateindex.pl and creates generated-index.html. Ignore the error msg about not having rh-sgml/stylesheet-images.
I think I see what's going on. What do you think that the generated-index.sgml indexentry element should look like for that case?
The simplest way to fix it is to see if another seealso already exists and not insert another comma. That seems acceptable to me.
I'm not sure it's all that simple. It isn't just the comma that's in the wrong place---the ulink isn't allowed there either. Please try to edit the generated-index.sgml's indexentry into something you're happy with, and I'll try to get collateindex.pl to generate that for this case.
Can you put all the locators in a comma-separated list after the indexterm and put all the seealso entries at the end of the list like this: <indexentry> <primaryie>file system </primaryie> <secondaryie>ext3, <ulink url="test.html" role="AEN9">Chapter Test</ulink>, <ulink url="test.html#SECTION" role="AEN30">Example of Section 1 Title</ulink> </secondaryie> <seealsoie>e2label</seealsoie> <seealsoie>mkfs</seealsoie> </indexentry>
Created attachment 56144 [details] Can you test this patch out to see if it does the right thing for you and doesn't break anything else?
I've built this as docbook-style-dsssl-1.76-2. Please re-open if it breaks something (I'm pretty sure it doesn't).
Actually, it is putting the seealso statements at the end of the indexterms, but at the end of the wrong indexterms. I am about to attach a file that has multiple secondary indexterms under the same primary indexterm. The seealso locators should be under the ext3 secondary indexterm, not under the last secondary indexterm.
Created attachment 56204 [details] example with multi secondary indexterms
Please take a look to see if docbook-style-dsssl-1.76-3 is any better.
Yes. It looks correct now. Thanks!