OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] xml:base problem with nested XIncludes


Hi Bob

All I see is the XEP default image if I do not do the copy first.  When 
I do the copy the picture appears OK.  However, the sizing of the 
default image does change when I change the sizing in my xml.  This 
seems reasonable, set up the space first then fetch the image to put in it.

1. Java - I'm on a Mac, OSX 10.4.11 and Java 1.5.  Java is not included 
in the Oxygen Mac download as far as I know.

2. the fullpath information 
(src="url(file:/Library/WebServer/Documents/_XML/_test//Library/WebServer/Documents/_XML/_test/images/Old_road_grass-54.jpg)") 
is inserted before FO processing:
<fo:marker 
marker-class-name="section.head.marker">Pictures</fo:marker><fo:block 
font-size="20.735999999999997pt">Pictures</fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block 
space-before.minimum="0.5em" space-before.optimum="1em" 
space-before.maximum="2em" space-after.minimum="0.5em" 
space-after.optimum="1em" space-after.maximum="2em" 
keep-together.within-column="always" id="LowRoad"><fo:block 
space-before.optimum="1em" space-before.minimum="0.8em" 
space-before.maximum="1.2em" font-weight="bold" font-size="12pt" 
hyphenate="false" space-after.minimum="0.4em" 
space-after.optimum="0.6em" space-after.maximum="0.8em" 
keep-with-next.within-column="always">Figure A.1. Medieval 
Road</fo:block><fo:block id="d0e17" 
text-align="center"><fo:external-graphic 
src="url(file:/Library/WebServer/Documents/_XML/_test//Library/WebServer/Documents/_XML/_test/images/Old_road_grass-54.jpg)" 
width="100%" height="auto" content-width="9.0cm" content-height="auto" 
content-type="content-type:image/jpeg" 
text-align="center"/><fo:block><fo:block space-before.optimum="1em" 
space-before.minimum="0.8em" space-before.maximum="1.2em">Medieval 
Road</fo:block></fo:block></fo:block></fo:block></fo:block></fo:block></fo:flow></fo:page-sequence></fo:root>

3. 1.75.1 - yes, my paths are:
for built-in Oxygen stylesheet:
...10.3/oxygen/frameworks/docbook/xsl/fo/docbook.xsl
for the 1.75.1 stylesheet, I installed it here:
...10.3/oxygen/frameworks/docbook/5.0/docbook-xsl-ns-1.75.1/fo/docbook.xsl

4. More confusion.
The problem first arose in an article I was writing, I got the XEP 
default images without the copy step.  I extracted from my article the 
test files I sent, which also give the XEP default images without the 
copy step.
I have now updated from XEP 4.10 to XEP 4.15 and the problem has gone 
away in my real article, I see the images correctly without the copy 
step.  However, the problem has not gone away with the test files, I 
still get the XEP default images when the copy step is omitted - (the 
.fo output above is with FO processing switched off, but my FO processor 
in Oxygen is at 4.15 level).

Ron

Bob Stayton wrote:
> Hi Ron,
> Yes, I see the picture without running the copy stylesheet to resolve 
> XIncludes first, and I get no error message from XEP about the missing 
> graphic.  I doubt if it is the XEP version, since it doesn't do any 
> manipulations of the path of a graphic.  Regarding the Java version, it 
> seems that Oxygen for Windows and Linux always ships with a Java VM 
> (currently 1.6.0_11), so I'm presuming it is using that for the 
> transforms too.
> 
> I keep wondering where the full path information is coming from.  Try 
> changing your transformation scenario in Oxygen to not run the XSL-FO 
> process, and just save the .fo to a file.  If you peek in that FO file, 
> that will tell you whether the src attribute in the fo:external-graphic 
> has a full path (and correct or incorrect one).
> 
> BTW, my installation of Oxygen 10.3 does not include a 
> docbook-xsl-1.75.1 under the frameworks directory of Oxygen.  Did you 
> install that?
> 
> Bob Stayton
> Sagehill Enterprises
> bobs@sagehill.net
> 
> 
> ----- Original Message ----- From: "Ron Catterall" <ron@catterall.net>
> To: "Bob Stayton" <bobs@sagehill.net>; <docbook-apps@lists.oasis-open.org>
> Sent: Thursday, July 02, 2009 2:32 PM
> Subject: Re: [docbook-apps] xml:base problem with nested XIncludes
> 
> 
>> Hi Bob
>>
>> Could it be XEP 4.10?  I'll move to 4.13 and check.  I can't see the 
>> Java version being responsible.  I checked several times with my 
>> too-chain, it is reproducible with XEP 4.10.
>>
>> Bob Stayton wrote:
>>> Hi Ron,
>>> I'm not able to duplicate this problem.  I'm using your files with 
>>> Oxygen 10.3, DocBook XSL 1.75.1, Saxon 6 and XEP 4.13, Java 1.6.0_05.
>>>
>> Do you see the picture without doing the 'copy' xsl first?  I don't.
>>
>>> Two things:
>>>
>>> 1.  I didn't see where you described the directory structure 
>>> containing your files.  As far as I can tell, they all reside in the 
>>> the current directory, except the graphic which is in a subdirectory 
>>> named 'images'. Is that correct?  I wasn't clear what you expected 
>>> the src attribute in the fo file to be, as compared to what you got.
>>>
>> Sorry, I omitted the directory structure.  You are right, the files 
>> are all in one directory and images is a subdirectory.  I expected 
>> images/...jpg
>>
>>> 2.  Normally the XInclude processor does not add xml:base unless an 
>>> included file is in a different directory, and that doesn't seem to 
>>> be the case here.
>>>
>> The XInclude processing seems to be fine, no problems.  It is only the 
>> file that is referenced by the nested XInclude that gets the wrong 
>> (full and duplicated) path and I don't see the picture.  As I remember 
>> the 2005 problem did not generate full paths, it just duplicated the 
>> 'images' directory.  maybe I am wrong in thinking it the same problem.
>>
>>> I'm wondering where the full path information came from, because it 
>>> does not appear to be in the XML files.  Normally a processor will 
>>> work with relative paths, but the error message indicates a full 
>>> path.  Is a catalog involved here?
>>>
>> No, nothing via a catalog.  The only full path I have is for docbook.xsl
>>
>> I'll post when I've checked with XEP 4.13.
>>
>> Ron
>>
>>
>>> Bob Stayton
>>> Sagehill Enterprises
>>> bobs@sagehill.net
>>>
>>>
>>> ----- Original Message ----- From: "Ron Catterall" <ron@catterall.net>
>>> To: <docbook-apps@lists.oasis-open.org>
>>> Sent: Thursday, July 02, 2009 1:09 PM
>>> Subject: [docbook-apps] xml:base problem with nested XIncludes
>>>
>>>
>>>> Hi
>>>>
>>>> A problem with nested XIncludes that I raised in 2005 has either not
>>>> been resolved, or has risen again in DB5 and 1.75.1.  The problem is in
>>>> the value of xml:base which results in the generation of bad paths to
>>>> files referenced in a nested XInclude.  A sample program to demonstrate
>>>> the problem is below, and the separate files are attached.  XEP reports
>>>> the bad paths - see below - but fop just fails to produce any 
>>>> diagnostic
>>>> output.  A work around is to pre-process the XIncludes and appropriate
>>>> xsl code is in the file copy.xsl
>>>>
>>>> root0.xml XIncludes root1.xml which XIncludes file0.xml which 
>>>> references
>>>> a jpg file in a <figure>.  The file cannot be found because the 
>>>> xml:base
>>>> is wrongly applied.
>>>>
>>>> Tool chain Oxygen 10.3, DB5, XSL 1.75.1, Saxon-6.5.5 and 
>>>> XEP-4.10-20070727.
>>>> java version "1.5.0_19"
>>>> Java(TM) 2 Runtime Environment, Standard Edition (build 
>>>> 1.5.0_19-b02-306)
>>>> Java HotSpot(TM) Client VM (build 1.5.0_19-138, mixed mode)
>>>>
>>>>
>>>>
>>>> ---File: root0.xml
>>>> <?xml version="1.0" encoding="UTF-8" ?>
>>>> <!DOCTYPE article>
>>>> <article
>>>>   xml:id="test" xmlns="http://docbook.org/ns/docbook"; version="5.0"
>>>> xml:lang="EN">
>>>> <info>
>>>> <title>Main title</title>
>>>> </info>
>>>> <para></para>
>>>> <xi:include href="root1.xml" 
>>>> xmlns:xi="http://www.w3.org/2001/XInclude"/>
>>>> </article>
>>>>
>>>>
>>>>
>>>> ---File: root1.xml
>>>> <?xml version="1.0" encoding="UTF-8" ?>
>>>> <!DOCTYPE appendix>
>>>> <appendix xml:id="file0" xmlns="http://docbook.org/ns/docbook";
>>>> version="5.0" xml:lang="EN">
>>>> <info>
>>>> <title>root1 title</title>
>>>> </info>
>>>> <xi:include href="file0.xml" 
>>>> xmlns:xi="http://www.w3.org/2001/XInclude"/>
>>>> </appendix>
>>>>
>>>>
>>>>
>>>> ---File: file0.xml
>>>> <?xml version="1.0" encoding="UTF-8" ?>
>>>> <!DOCTYPE section>
>>>> <section xml:id="Pictures" xmlns="http://docbook.org/ns/docbook";
>>>> version="5.0" xml:lang="EN">
>>>> <info><title>Pictures</title></info>
>>>> <figure xml:id="LowRoad"><title>Medieval Road</title>
>>>> <mediaobject>
>>>> <imageobject role="xhml">
>>>> <imagedata fileref="images/Old_road_grass-54X.jpg" format="JPG"
>>>> width="100%" contentwidth="12.0cm" align="center"/>
>>>> </imageobject>
>>>> <imageobject role="fo">
>>>> <imagedata fileref="images/Old_road_grass-54.jpg" format="JPG"
>>>> width="100%" contentwidth="9.0cm" align="center"/>
>>>> </imageobject>
>>>> <caption><para  role="Start">Medieval Road</para></caption>
>>>> </mediaobject>
>>>> </figure>
>>>> </section>
>>>>
>>>>
>>>>
>>>> ---File: root.xsl
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>>>> version="1.0">
>>>> <xsl:import
>>>> href="/Applications/Utilities/oxygen/10.3/oxygen/frameworks/docbook/5.0/docbook-xsl-ns-1.75.1/fo/docbook.xsl"/> 
>>>>
>>>> </xsl:stylesheet>
>>>>
>>>>
>>>>
>>>> ---XEP failure report
>>>> ---The image file referred to in file0.xml cannot be found.
>>>> ---Nested Xinclude problem - XEP gives the bad filename
>>>>         [error] Failed to create image
>>>> file:/Library/WebServer/Documents/_XML/_test//Library/WebServer/Documents/_XML/_test/images/Old_road_grass-54.jpg 
>>>>
>>>> of type image/jpeg
>>>>         [error] java.io.FileNotFoundException:
>>>> /Library/WebServer/Documents/_XML/_test/Library/WebServer/Documents/_XML/_test/images/Old_road_grass-54.jpg 
>>>>
>>>> (No such file or directory)
>>>>
>>>>
>>>>
>>>> If the nested Xincludes are expanded first using the following XSL, 
>>>> then
>>>> the nested problem is avoided and all is well, the image file is found
>>>> and displayed
>>>> ---File: copy.xsl
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <xsl:stylesheet version="1.0"
>>>> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>>>> exclude-result-prefixes="xi" 
>>>> xmlns:xi="http://www.w3.org/2001/XInclude";>
>>>> <xsl:output indent="yes" method="xml" encoding="UTF-8"/>
>>>> <xsl:strip-space elements="*"/>
>>>> <!-- Match document -->
>>>> <xsl:template match="/">
>>>> <xsl:apply-templates mode="copy" select="."/>
>>>> </xsl:template>
>>>> <!-- Deep copy template -->
>>>> <xsl:template match="*|text()|@*" mode="copy">
>>>> <xsl:copy>
>>>> <xsl:apply-templates mode="copy" select="@*"/>
>>>> <xsl:apply-templates mode="copy"/>
>>>> </xsl:copy>
>>>> </xsl:template>
>>>> <!-- exclude some attributes added by the XInclude part -->
>>>> <xsl:template match="@*[name()='xml:base']" mode="copy"/>
>>>> <!-- Handle default matching -->
>>>> <xsl:template match="*"/>
>>>> </xsl:stylesheet>
>>>>
>>>>
>>>> Ron
>>>> -- 
>>>> Ron Catterall Ph.D. D.Sc.
>>>> ron@catterall.net
>>>> http://catterall.net
>>>>
>>>
>>>
>>> -------------------------------------------------------------------------------- 
>>>
>>>
>>>
>>>
>>>> <?xml version="1.0" encoding="UTF-8" ?>
>>>> <!DOCTYPE article>
>>>> <article xml:id="test" xmlns="http://docbook.org/ns/docbook"; 
>>>> version="5.0" xml:lang="EN">
>>>> <info>
>>>> <title>Main title</title>
>>>> </info>
>>>> <para></para>
>>>> <xi:include href="root1.xml" 
>>>> xmlns:xi="http://www.w3.org/2001/XInclude"/>
>>>> </article>
>>>>
>>>
>>>
>>> -------------------------------------------------------------------------------- 
>>>
>>>
>>>
>>>
>>>> <?xml version="1.0" encoding="UTF-8" ?>
>>>> <!DOCTYPE appendix>
>>>> <appendix xml:id="file0" xmlns="http://docbook.org/ns/docbook"; 
>>>> version="5.0" xml:lang="EN">
>>>> <info>
>>>> <title>root1 title</title>
>>>> </info>
>>>> <xi:include href="file0.xml" 
>>>> xmlns:xi="http://www.w3.org/2001/XInclude"/>
>>>> </appendix>
>>>>
>>>
>>>
>>> -------------------------------------------------------------------------------- 
>>>
>>>
>>>
>>>
>>>> <?xml version="1.0" encoding="UTF-8" ?>
>>>> <!DOCTYPE section>
>>>> <section xml:id="Pictures" xmlns="http://docbook.org/ns/docbook"; 
>>>> version="5.0" xml:lang="EN">
>>>> <info><title>Pictures</title></info>
>>>> <figure xml:id="LowRoad"><title>Medieval Road</title>
>>>> <mediaobject>
>>>> <imageobject role="xhml">
>>>> <imagedata fileref="images/Old_road_grass-54X.jpg" format="JPG" 
>>>> width="100%" contentwidth="12.0cm" align="center"/>
>>>> </imageobject>
>>>> <imageobject role="fo">
>>>> <imagedata fileref="images/Old_road_grass-54.jpg" format="JPG" 
>>>> width="100%" contentwidth="9.0cm" align="center"/>
>>>> </imageobject>
>>>> <caption><para  role="Start">Medieval Road</para></caption>
>>>> </mediaobject>
>>>> </figure>
>>>> </section>
>>>>
>>>
>>>
>>> -------------------------------------------------------------------------------- 
>>>
>>>
>>>
>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
>>>> version="1.0">
>>>> <xsl:import 
>>>> href="/Applications/Utilities/oxygen/10.3/oxygen/frameworks/docbook/5.0/docbook-xsl-ns-1.75.1/fo/docbook.xsl"/> 
>>>>
>>>> </xsl:stylesheet>
>>>
>>>
>>> -------------------------------------------------------------------------------- 
>>>
>>>
>>>
>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <xsl:stylesheet version="1.0" 
>>>> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>>>>    exclude-result-prefixes="xi" 
>>>> xmlns:xi="http://www.w3.org/2001/XInclude";>
>>>>    <xsl:output indent="yes" method="xml" encoding="UTF-8"/>
>>>>
>>>>    <xsl:strip-space elements="*"/>
>>>>
>>>>    <!-- Match document -->
>>>>    <xsl:template match="/">
>>>>        <xsl:apply-templates mode="copy" select="."/>
>>>>    </xsl:template>
>>>>    <!-- Deep copy template -->
>>>>    <xsl:template match="*|text()|@*" mode="copy">
>>>>        <xsl:copy>
>>>>            <xsl:apply-templates mode="copy" select="@*"/>
>>>>            <xsl:apply-templates mode="copy"/>
>>>>        </xsl:copy>
>>>>    </xsl:template>
>>>>    <!-- exclude some attributes added by the XInclude part -->
>>>>    <xsl:template match="@*[name()='xml:base']" mode="copy"/>
>>>>    <!-- Handle default matching -->
>>>>    <xsl:template match="*"/>
>>>> </xsl:stylesheet>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
>>> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
>>>
>>>
>>>
>>
>> -- 
>> Ron Catterall Ph.D. D.Sc.
>> ron@catterall.net
>> http://catterall.net
>>
> 
> 
> 

-- 
Ron Catterall Ph.D. D.Sc.
ron@catterall.net
http://catterall.net

S/MIME Cryptographic Signature



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]