- From: Koch, Anthony <Anthony.Koch@cognos.com>
- Date: Wed, 9 Apr 2003 17:01:39 -0400
- To: "'www-xsl-fo@w3.org'" <www-xsl-fo@w3.org>
- Message-ID: <BF85C64585F2D61190EF0002A5CE6F34015087AA@sottexch2.cognos.com>
Hi,
I'm having trouble referencing SVG within my XSL:FO, where the SVG is
returned from an URL.
<fo:block>
<fo:external-graphic
src="url('http://localhost:8080/application/graphics/svggen')"/>
<!-- or trying src="url('graphics/svggen') -->
</fo:block>
When I go to http://localhost:8080/application/graphics/svggen, the
following SVG is returned:
<?xml version="1.0" encoding="UTF-8" ?>
<svg width="619.0" height="288.0"
xmlns:xsp="http://apache.org/xsp"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsp-request="http://apache.org/xsp/request/2.0">
<text x="30" y="14"
style="fill:#ff0000;font-size:16;font-family:Arial"
text-anchor="middle">some text<text>
</svg>
Note, svggen is an XSP that returns the above SVG XML using Cocoon
framework. The XSL:FO transformation
is applied to XML, as defined in the Cocoon pipeline:
<map:generate src="testpdf.xml"/>
<map:transform
src="testpdf.xsl"/>
<map:serialize
type="fo2pdf"/>
Everything works fine if the SVG is instream :
<fo:block text-align="left">
<fo:instream-foreign-object
xmlns:svg="http://www.w3.org/2000/svg">
<svg:svg width="45" height="45">
<svg:g style="fill:green;
stroke-width:7">
<svg:rect x="5"
y="7" width="25" height="25"/>
</svg:g>
</svg:svg>
</fo:instream-foreign-object>
</fo:block>
However, as soon as I try
<fo:block>
<fo:external-graphic src="url('graphics/svggen')"/>
</fo:block>
The following error occurs:
[ERROR] Error while creating area : Error with image URL:
graphics\svggen (The system cannot
find the path specified) and no base URL is specified
Is there a way to specify base URL, given that I am running within a Cocoon
pipeline?
Then if I try:
<fo:block>
<fo:external-graphic
src="url('http://localhost:8080/application/graphics/svggen')"/>
</fo:block>
The error below appears.
Thanks a million if you have any suggestions to get help me get the SVG
properly referenced.
Cheers,
Anthony
Error:
[INFO] [5]
java.lang.NoSuchMethodError
at
org.apache.fop.image.analyser.SVGReader.loadImage(SVGReader.java:76)
at
org.apache.fop.image.analyser.SVGReader.verifySignature(SVGReader.java:60)
at
org.apache.fop.image.analyser.ImageReaderFactory.Make(ImageReaderFactory.jav
a:86)
at
org.apache.fop.image.FopImageFactory.Make(FopImageFactory.java:137)
at
org.apache.fop.fo.flow.ExternalGraphic.layout(ExternalGraphic.java:135)
at
org.apache.fop.fo.flow.Block.layout(Block.java:206)
at
org.apache.fop.fo.flow.AbstractFlow.layout(AbstractFlow.java:111)
at
org.apache.fop.fo.flow.AbstractFlow.layout(AbstractFlow.java:68)
at
org.apache.fop.fo.pagination.PageSequence.makePage(PageSequence.java:352)
at
org.apache.fop.fo.pagination.PageSequence.format(PageSequence.java:290)
at
org.apache.fop.apps.StreamRenderer.render(StreamRenderer.java:218)
at
org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:177)
at
org.apache.cocoon.xml.AbstractXMLPipe.endElement(AbstractXMLPipe.java:147)
at
org.apache.xalan.transformer.ResultTreeHandler.endElement(ResultTreeHandler.
java:307)
at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:
716)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApp
lyTemplates.j
ava:422)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.jav
a:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Transform
erImpl.java:2
243)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(Transformer
Impl.java:206
9)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.j
ava:1171)
at
org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:3196)
at java.lang.Thread.run(Thread.java:479)
This message may contain privileged and/or confidential information. If you
have received this e-mail in error or are not the intended recipient, you
may not use, copy, disseminate or distribute it; do not open any
attachments, delete it immediately from your system and notify the sender
promptly by e-mail that you have done so. Thank you.
Received on Wednesday, 9 April 2003 17:02:18 UTC