RE: Relative URLs
Hi! First of all: You are really a great mailing list!! Helpful comments almost immediately, every time :-) Setting the basedir in the config file is working - thank you! It is no perfect solution as I still have to once more note the installation directory, but I already reference my fonts that way and get along setting CATALINA_HOME for Ant ... Passing request.getServerName (and perhaps request.getServerPort()) is what I would have used... indeed, I already do something similar in a preprocessing step (for the simulation of floats) to manage Server (not tomcat)-relative URLs. Being interested generally, if anybody knows/finds the default of this basedir in a servlet environment where no real fo files are written, please let me know! Regards, sonja -Original Message- From: J.Pietschmann [mailto:[EMAIL PROTECTED] Sent: Freitag, 12. August 2005 22:20 To: fop-users@xmlgraphics.apache.org Subject: Re: Relative URLs Sonja Löhr wrote: I now try to replace an absolute URL on an external-graphic element with a relative one. You'll probably need to set the baseDir in the FOP configuration. See http://xml.apache.org/fop/embedding.html#config-internal Try getRealPath(/) on the servlet context in order to get a useful file system path. J.Pietschmann - 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]
RE: Relative URLs
Ah! I misunderstood you. Yes, if I do the configuration programmatically instead of my fop-config.xml, of course I have dynamic access to everything! Great, I'll check now if I could reference font-metrics and embedded fonts this way as well. Thank you VERY much! -Original Message- From: J.Pietschmann [mailto:[EMAIL PROTECTED] Sent: Freitag, 12. August 2005 22:20 To: fop-users@xmlgraphics.apache.org Subject: Re: Relative URLs Sonja Löhr wrote: I now try to replace an absolute URL on an external-graphic element with a relative one. You'll probably need to set the baseDir in the FOP configuration. See http://xml.apache.org/fop/embedding.html#config-internal Try getRealPath(/) on the servlet context in order to get a useful file system path. J.Pietschmann - 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]
RE: Relative URLs in Servlet-created FO
Mike (and others), I'm now very content with my configuration and will summarize it shortly: The configuration xml is now very short: configuration fonts font metrics-file=font1.xml kerning=yes embed-file=../ttf/Ss__.ttf font-triplet name=customFont style=normal weight=normal/ /font font metrics-file=font1_b.xml kerning=yes embed-file=../ttf/Sssb.ttf font-triplet name=customFont style=normal weight=bold/ /font /fonts /configuration and my Servlet's init() starts with ServletContext ctx = getServletContext(); new Options(new File(ctx.getRealPath(CONFIG_FILE))); org.apache.fop.configuration.Configuration.put(baseDir, ctx.getRealPath(/)); org.apache.fop.configuration.Configuration.put(fontBaseDir, ctx.getRealPath(/WEB-INF/fonts)); The logo is referenced inside the stylesheet with: fo:external-graphic src=url(headers/logo2.svg) / (headers being a directoy under the context root, fonts and ttf are under WEB-INF) Greetings and thanks again, sonja -Original Message- From: Mike Trotman [mailto:[EMAIL PROTECTED] Sent: Freitag, 12. August 2005 21:28 To: fop-users@xmlgraphics.apache.org Subject: Re: Relative URLs I had some similar problems last year - but can't remember how I solved them. I have a nasty feeling that I ended up passing server names etc. as XSLT parameters. I also had problems between a version of XEP and FOP in their interpretation of url() contents - which differed. The resolution of url() paths may depend on when they are processed (i.e which document) and by what. So - the paths should be processed relative to the location of your FO file. If the FO file is produced in memory - then the relative base probably depends on the application. You could try using the 'xml:base' attribute on an element in the FO to define what should be taken as the base url for that element and child elements - but I haven't tried this with FOP - so don't know if it works / is supported. I too will be interested to see any helpful comments on this. Mike Sonja Löhr wrote: It's me again ... All my fonts in place, I still seem to be not fit enough for handling paths ;-) I now try to replace an absolute URL on an external-graphic element with a relative one. FO is created via XSLT, and my stylesheet resides in a subfolder of WEB-INF. In- and OutputStreams before and after, but that shouldn't matter. fo:external-graphic src=http://localhost:8080/pdfnewsletter/headers/logo.svg/ is working well here, but I cannot be sure whether the production server will really be listening to localhost. What did I try? a) referring to the svg in its original place outside WEB-INF with url(/headers/logo.svg) - context-relative, url(headers/svg), url(../../logo.svg) and so on - also with single quotes around the paths. b) Putting the graphic (an svg) in the stylesheet's directory and referring to it with url(logo.svg) c) Putting the graphic inside the package of the transforming servlet, which ends up in a jar file, and again referring with url(logo.svg) Some of these trials where really odd, I always tried to refer to the execution of my servlet as base. Please help once more - thanks!! sonja - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Message Scanned by ClamAV on datalucid.com -- Datalucid Limited Message Scanned by ClamAV on datalucid.com - 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]
Re: Relative URLs
I had some similar problems last year - but can't remember how I solved them. I have a nasty feeling that I ended up passing server names etc. as XSLT parameters. I also had problems between a version of XEP and FOP in their interpretation of url() contents - which differed. The resolution of url() paths may depend on when they are processed (i.e which document) and by what. So - the paths should be processed relative to the location of your FO file. If the FO file is produced in memory - then the relative base probably depends on the application. You could try using the 'xml:base' attribute on an element in the FO to define what should be taken as the base url for that element and child elements - but I haven't tried this with FOP - so don't know if it works / is supported. I too will be interested to see any helpful comments on this. Mike Sonja Löhr wrote: It's me again ... All my fonts in place, I still seem to be not fit enough for handling paths ;-) I now try to replace an absolute URL on an external-graphic element with a relative one. FO is created via XSLT, and my stylesheet resides in a subfolder of WEB-INF. In- and OutputStreams before and after, but that shouldn't matter. fo:external-graphic src=http://localhost:8080/pdfnewsletter/headers/logo.svg/ is working well here, but I cannot be sure whether the production server will really be listening to localhost. What did I try? a) referring to the svg in its original place outside WEB-INF with url(/headers/logo.svg) - context-relative, url(headers/svg), url(../../logo.svg) and so on - also with single quotes around the paths. b) Putting the graphic (an svg) in the stylesheet's directory and referring to it with url(logo.svg) c) Putting the graphic inside the package of the transforming servlet, which ends up in a jar file, and again referring with url(logo.svg) Some of these trials where really odd, I always tried to refer to the execution of my servlet as base. Please help once more - thanks!! sonja - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Message Scanned by ClamAV on datalucid.com -- Datalucid Limited Message Scanned by ClamAV on datalucid.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Relative URLs
Mike Trotman wrote: You could try using the 'xml:base' attribute FOP 0.20.5 doesn't process xml:base. J.Pietschmann - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Relative URLs
Sonja Löhr wrote: I now try to replace an absolute URL on an external-graphic element with a relative one. You'll probably need to set the baseDir in the FOP configuration. See http://xml.apache.org/fop/embedding.html#config-internal Try getRealPath(/) on the servlet context in order to get a useful file system path. J.Pietschmann - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]