Hi,
Yes, there may be a solution to this problem. There is a small customization that makes id values unique in the output, used primarily for multiple instances of an XIncluded element. See this reference for details:

http://www.sagehill.net/docbookxsl/DuplicateIDs.html#ModifyIdValues

However, I don't think it works without further work with multiple instances from a bibliography collection. In the bibliomixed template in fo/biblio.xsl:

<xsl:template match="bibliomixed">
 <xsl:param name="label">
   <xsl:call-template name="biblioentry.label"/>
 </xsl:param>

 <xsl:variable name="id">
   <xsl:call-template name="object.id"/>
 </xsl:variable>

 <xsl:choose>
   <xsl:when test="string(.) = ''">
<xsl:variable name="bib" select="document($bibliography.collection,.)"/>
     <xsl:variable name="entry" select="$bib/bibliography/
                                        [EMAIL PROTECTED] or @xml:id=$id][1]"/>

The $id will be the modified value, but you can see that $id is used in the lookup from the database. But it won't match any @id in the collection. You'll need to customize this template to preserve the original @id of the empty bibliomixed to compare it to the @id in the collection, and then let the template use $id from the object.id template (the modified version) in the output when the element is processed.

Bob Stayton
Sagehill Enterprises
[EMAIL PROTECTED]


----- Original Message ----- From: "Jürgen Klein" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, April 01, 2008 1:09 PM
Subject: [docbook-apps] Multiple bibliographies - FOP error because of non-unique ids


Hi,
we use DocBook xsl-stylesheets (1.72.0), xalan (2.6.0) and fop fop-0.94.
Therewith we try to generate PDF from DocBook-article within multiple
bibliography-elements. In source-xml, we have empty bibliomixed-elements
with id-attributes:
<article>...
<section id="first">...
<bibliography>
<bibliomixed id="DOC2008"/>
</bibliography>
...</section>...
<section id="third">...
<bibliography>
<bibliomixed id="DOC2008"/>
</bibliography>
</section>...
</article>

Bibliography entries are pulled in by bibliomixed-id from a separate
DocBook-bibliography-database (DocBook-document with a collection of
bibliography entries). Ids in the DocBook-bibliography-database are unique.
Ids in source-xml (DocBook-article) can't be unique (e.g.'DOC2008', see
above). Nevertheless, it's no problem to generate FO. While generating PDF
from this FO, FOP, unfortunately, causes an error: "Property id "DOC2008"
previously used; id values must be unique in document".

Is there a way to get rid of this error? Is there another way to use
multiple bibliography-elements in DocBook and generate PDF, even though
bibliomixed-ids in source-xml can't be unique?

Thanks in advance,
Jürgen Klein


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to