cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Adept Publisher 9.01: Using Adept's index functionality to produce a glossary

phil.gooch
1-Newbie

Adept Publisher 9.01: Using Adept's index functionality to produce a glossary

Hi there

I need to produce an alpha-sorted glossary, with duplicated removed, from
data in my XML.
Glossary elements are tagged as:
<acronym><fulltext>Description here</fulltext><abbrev>DH</abbrev>

The glossary should look like

DH Description here
ABC Description of ABC here

and so on

I'm using Adept's indexing functionality to do this, but I'm finding
duplicate entries aren't being removed. Strangely, in the 'preliminary'
glossary that is created, and is visible in Adept Editor, there are no
duplicates, but when I preview in Publisher, the formatted glossary has
duplicates.

I'm using the following FOSI constructs

<stringdecl textid="fulltext.txt" literal="">
<stringdecl textid="abbrev.txt" literal="">
<stringdecl textid="glossary.txt" literal="" status="1">

<e-i-c gi="abbrev">
<charlist inherit="1" charsubsetref="TypeInline">
<savetext textid="abbrev.txt" conrule="#CONTENT">
</charlist>
</e-i-c>

<e-i-c gi="acronym">
<charlist inherit="1" charsubsetref="TypeInline">
<savetext textid="glossary.txt"&lt;br"/>conrule="<ixpt>,abbrev.txt,@50mm,</ixpt>,<ixsub1>,fulltext.txt,</ixsub1>,<ix<br/>pgstr>,body-folio.txt[BO],</ixpgstr>" placemnt="after" append="1">
</charlist>
</e-i-c>

<e-i-c gi="fulltext">
<charlist inherit="1" charsubsetref="TypeInline">
<savetext textid="fulltext.txt" conrule="#CONTENT">
</charlist>
</e-i-c>

plus these to output the glossary after a <preface> element:

<e-i-c gi="preface">
<charlist inherit="1" charsubsetref="TypeDiv1NotNumbered">
<textbrk startpg="next" pageid="prelim.pg" newpgmdl="local">

<savetext textid="prelim.txt" conrule="preface-label.txt">
<usetext source="&lt;toc.fmt">,</toc.fmt>" placemnt="after"></usetext>
<usetext source="&lt;glossary.fmt">,</glossary.fmt>" placemnt="after"></usetext>
</charlist>
</e-i-c>

<e-i-c gi="glossary.fmt">
<charlist inherit="1" charsubsetref="Block">
<textbrk startpg="verso" pageid="prelim.pg" newpgmdl="global">
<savetext textid="toc.txt"&lt;br"/>conrule="<div1-toc.fmt>,div1usect.txt,glossary-label.txt,</div1-toc.fmt>"
append="1">
<savetext textid="toc.txt"&lt;br"/>conrule="<div2-toc.fmt>,div2usect.txt,abbrev-acronym-label.txt,tocfill,preli
m-folio.txt[BO],</div2-toc.fmt>" append="1">
<savetext textid="prelim.txt" conrule="glossary-label.txt">
<usetext source="glossary-blurb.txt" placemnt="after">
<subchars charsubsetref="Block">
<postsp minimum="2mm" nominal="2mm" maximum="2mm" condit="discard"&lt;br"/>priority="high"></subchars>
</usetext>
<usetext source="acronym-label.txt,@50mm,description-label.txt"&lt;br"/>placemnt="after">
<subchars charsubsetref="Block" bold&quot;=">
<ruling thick="1pt" lentype="rel" rellen="text" placemnt="after"&lt;br"/>type="single">
<postsp minimum="2mm" nominal="2mm" maximum="2mm" condit="discard"&lt;br"/>priority="force">
<textbrk startln="1" endln="1"></ruling>
</subchars>
</usetext>
<usetext source="&lt;glossary-idx.psu">,</glossary-idx.psu>"
placemnt="after"></usetext>
</charlist>
</e-i-c>

<e-i-c gi="glossary-idx.psu">
<charlist>
<usetext source="glossary.txt" userule="2" useparam="index_levels=2&lt;br"/>mergeinhibit=-3">
</usetext>
</charlist>
</e-i-c>

I understand that I need the <ixpgstr>,body-folio.txt[BO],</ixpgstr> to work
as a 'key' - so I'm assuming that duplicates are appearing because the same
glossary terms are appearing on different pages. I tried removing the
<ixpgstr> from the <savetext> in 'acronym' but then I got errors and no
glossary was produced.

Can anyone give me some tips here? I don't want to produce a standard index:
just the glossary of terms

Thanks

Phil
2 REPLIES 2

Phil,
is there a special reason for using the mergeinhibit=-3?
(<usetext source="glossary.txt" userule="2" useparam="index_levels=2&lt;br"/>mergeinhibit=-3">)
What happens if you delete this parameter?

Sandra

Thanks Sandra - your suggestion worked. I'd got the mergeinhibit from the
Adept help page on creating a parts list - not knowing at the time what it
did, I had just copied and pasted the whole useparam attribute into my FOSI

Regards

Phil
Announcements