[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 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
S/MIME Cryptographic Signature
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]