You're correct that this is valid DocBook, and I can confirm that you do get a 
duplicate id, which means it looks like there's a bug in the stylesheets.

BTW, I see the same thing using the XEP extensions, though RenderX actually 
doesn't detect the error (or at least doesn't report it) and (almost) correctly 
processes the .fo, even with the duplicate id. I say almost because a printed 
PDF will be correct, but an online PDF may link the index entry to the wrong 
instance of the id.

In the short term, I'd suggest moving the indexterm out of the glossterm. It's 
still valid, and should give you a good index.

I'm going to post this to the docbook-apps list so the folks who maintain the 
stylesheets can look at this more closely. I got lost in the depths of some 
pretty complex code, and (frankly:) ran out of time. If no one else looks at 
it, I'll come back and dig in deeper in a few weeks.

Best regards,
Dick Hamilton
-------
XML Press
XML for Technical Communicators
http://xmlpress.net
hamil...@xmlpress.net



On Jan 30, 2015, at 1:31, M F <dark.ride...@yahoo.de> wrote:

> Hi!
> I am using xsltproc (libxml 20902, libxslt 10128) and I have the following 
> glossary for testing purposes. Note the <glossterm>-tags have 
> <indexterm>-tags each and there is also one <glossseealso>-tag. 
> 
> <?xml version="1.0" encoding="iso-8859-1"?>
> <!DOCTYPE glossary PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
>         "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd";>
> 
> <glossary id="glossar">
>     <title>Glossar</title>
> 
>     <!-- ................... E ................... -->
>     <glossdiv id="gloss_E">
>         <title>E</title>
>         <glossentry id="gloss_e-file">
>             <glossterm id="glossterm_e-file">
>                 <indexterm>
>                     <primary>E-File</primary>
>                 </indexterm>
>                 <emphasis role="bold">E-File</emphasis>
>             </glossterm>
>             <glossdef>
>                 <para>
>                     Glossary_Text
>                 </para>
>                 <glossseealso otherterm="gloss_test">EinTest</glossseealso>
>             </glossdef>
>         </glossentry>
>         
>       
>         <glossentry id="gloss_test">
>             <glossterm id="gt_gloss_test">
>                 <indexterm>
>                     <primary>EinTest</primary>
>                 </indexterm>
>                 <emphasis role="bold">EinTest</emphasis>
>             </glossterm>
>             <glossdef>
>                 <para>
>                     Glossary_Text
>                 </para>
>             </glossdef>
>         </glossentry>
>         
>     </glossdiv>
> </glossary>
> 
> When I try to generate a pdf file using apache fop (version 1.1), I will get 
> a ValidationException:
> org.apache.fop.fo.ValidationException: Property ID "idp8750595088" (found on 
> "fo:wrapper") previously used; ID values must be unique within a document!
> 
> It is because of the <glossseealso>-tag. When resolved, a fo:wrapper-element 
> is created with the same ID as the gloss_test. 
> 
> Now, if I move the <indexterm>-tag out of the <glossterm>-tag, it works just 
> fine. 
> I wonder if this is a bug or just a wrong use of the <indexterm>-tag. 
> According to the DTD the <indexterm>-tag is an allowed child of <glossterm>.
> 
> Thanks in advance!
> 
> 
> Best regards,
> Dark.Rider85
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: docbook-apps-unsubscr...@lists.oasis-open.org
For additional commands, e-mail: docbook-apps-h...@lists.oasis-open.org

Reply via email to