Stefan, you were right. It had to do with the xml:base attribute. In the
generated fo file I found that the resulting path is
xml:base="SECTION_DIR/IMAGES_DIR/image1.svg". It should have been
xml:base="CHAPTERS_DIR/SECTION_DIR/IMAGES_DIR/image1.svg". I though
Xinclude will automatically preserve and adjust this path. I am using
xalan. How can I fix this ??
Stefan Seefeld wrote:
> Mansour wrote:
>> I have a document that use multiple recursive include. Each included
>> file is in a subdirectory. For example, I have master.docbook that
>> includes chapter1.docbook which includes section1.docbook which
>> includes an SVG image file in IMAGES_DIR/image1.svg
>>
>> These files are structured as follows:
>>
>> ROOT_DIR
>> master.docbook
>> CHAPTERS_DIR
>> chapter1.docbook
>> SECTIONS_DIR
>> section1.docbook
>> IMAGES_DIR
>> image1.svg
>>
>> When I compile the file master.docbook to produce pdf the images do
>> not show, and I get this error during fop:
>
> [...]
>
>
>> However, when I remove the CHAPTERS_DIR and put everything in it with
>> the same level as master.docbook, things work fine. For example if I
>> do this:
>>
>> ROOT_DIR
>> master.docbook
>> chapter1.docbook
>> SECTIONS_DIR
>> section1.docbook
>> IMAGES_DIR
>> image1.svg
>>
>> Then things are OK. Of course I change the path in the
>> master.docbook. What am I missing??
>
> I remember having seen similar issues in the past. URLs are relative
> to the base URL of the document they appear in, so this info needs to
> be preserved during xinclude processing (i.e. xml:base attributes have
> to be added). May be that didn't happen ?
> I'm not sure this is an issue with docbook. It may be with your xslt
> processor.
>
> Regards,
> Stefan
>