This problem can occur when you try to use the same olink target data for
HTML and FO outputs. When you generate a target.db file, the <xreftext>
element contains the fully formatted text to be used for an olink to that
element, including any appropriate inline formatting markup. If you
generate a target.db with an HTML stylesheet, you will get <i> in your
chapter data. If you generate target.db with an FO stylesheet, you will get
fo:inline in your chapter data.
So if you generate the target.db file with an HTML stylesheet, and then you
use that target.db file with an FO stylesheet, you'll get the results you
see. So if you need to generate both outputs, you need to keep separate
target.db files, or regenerate them each time you process your documents.
Bob Stayton
Sagehill Enterprises
[EMAIL PROTECTED]
----- Original Message -----
From: "Gerd v. Egidy" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, July 07, 2008 8:26 AM
Subject: [docbook-apps] XInclude problems after upgrading docbooc-xsl
Hi,
I'm in the process of upgrading my toolchain from a somewhat dusted
docbook-xsl-1.69 to 1.74.
But it seems like it creates invalid FO with my configuration: XEP spews
[error] Element 'i' belonging to the anonymous namespace cannot occur in
an XSL-FO document
outside 'instream-foreign-object' elements.
on every external olink. Validating the FO within oxygen fails too so I
think the FO is indeed invalid
(and not my XEP too old). The invalid output looks like this:
<fo:block>Some text
<fo:basic-link show-destination="replace"
external-destination="url(http://some.where/reference/my-chapter.html)"
><fo:inline xmlns:xlink="http://www.w3.org/1999/xlink"
font-style="italic"
>Reference Manual</fo:inline>, 22. Chapter, <i
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude">My Chapter
Name</i></fo:basic-link></fo:block>
</fo:block>
It seems like this <i>-block doesn't belong there. Rendering the FO works
ok if I remove it.
I traced this problem back to docbook-xsl-1.72.0, version 1.71.1 is the
last one that works.
The output from 1.71.1 looks a bit different:
<fo:block>Some text
<fo:basic-link
external-destination="url(http://some.where/reference/my-chapter.html)"
><fo:inline font-style="italic">Reference Manual</fo:inline>, 22.
Chapter, My Chapter Name </fo:basic-link></fo:block>
My olinkdb.xml looks like this:
<targetset xmlns:xi="http://www.w3.org/2001/XInclude">
<sitemap>
<dir name="root">
<document targetdoc="current">
<xi:include href="target.db"/>
</document>
<document targetdoc="user-manual"
baseuri="http://some.where/user/">
<xi:include href="user-manual-ext.db"/>
</document>
<document targetdoc="reference-manual"
baseuri="http://some.where/reference/">
<xi:include href="reference-manual-ext.db"/>
</document>
...
So I create an id-db for each manual in my collection and pull that in via
XInclude. The current manual
(also part of the collection) is always found in "target.db" too. The
created id databases look ok.
Does someone have an idea how to fix this?
Thank you very much.
Kind regards,
Gerd
---------------------------------------------------------------------
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]