Jeremias,

Thanks for the quick reply and commit ;)

I am getting the following Exception: java.lang.IllegalArgumentException:
Source not supported: javax.xml.transform.dom.DOMSource.

I have attached my code in the code.txt file. The whole stacktrace is in the
stacktrace.txt file.

I updated my FOP working copy to 615144. 

Tx.,





-----Original Message-----
From: Jeremias Maerki [mailto:[EMAIL PROTECTED] 
Sent: 25 January 2008 09:31
To: [email protected]
Subject: Re: SVG XML Access

Raphael,

I hadn't implemented support for a DOMSource but have done so now:
http://svn.apache.org/viewvc?rev=615144&view=rev

Take a look at the test case that I've added. It demonstrates how you
can write a URIResolver that returns an SVG DOM. That way you can do all
the SVG manipulation you want. But you have to make sure the DOM
Document is a org.w3c.dom.svg.SVGDocument.

On 25.01.2008 08:03:38 Raphael Parree wrote:
> Hi Jeremias,
> 
>  
> 
> End o last year I wrote a custom URI resolver to augment SVG files with a
> style entry. This has drastically influenced the PDF generation time. I
> recall that during that time you mentioned you were updating the Image
part
> and that it would be easier when that was completed, because the update
> gives access to the SVG XML. I noticed many updates in the Image classes
(in
> the trunk). 
> 
> Does this mean that there is an alternative to filtering the SVG files
now?
> 
>  
> 
> Tx.,
> 
>  
> 
> Raphael
> 




Jeremias Maerki


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
public class SVGFilterURIResolver implements URIResolver {
  public Source resolve(String href, String base) throws TransformerException {
    if (href.endsWith(".svg")) {
      String parser = XMLResourceDescriptor.getXMLParserClassName();
      SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);
      try {
        Document document = f.createDocument(href);
        NodeList styleNodeList = 
document.getElementsByTagNameNS("http://www.w3.org/2000/svg";, "style");
        if (styleNodeList.getLength() > 0) {
          Element e = (Element) styleNodeList.item(1);
          e.insertBefore(document.createTextNode("marker { overflow:visible; 
}"), e.getFirstChild());
        }
        DOMSource src = new DOMSource(document);
        return src;
      } catch (IOException e) {
        throw new TransformerException("IOException while loading SVG", e);
      }

    } else
      return null;
  }
}
java.lang.IllegalArgumentException: Source not supported: 
javax.xml.transform.dom.DOMSource
        at 
org.apache.xmlgraphics.image.loader.util.ImageUtil.closeQuietly(ImageUtil.java:195)
        at 
org.apache.xmlgraphics.image.loader.ImageManager.getImage(ImageManager.java:252)
        at org.apache.fop.render.pdf.PDFRenderer.putImage(PDFRenderer.java:1717)
        at 
org.apache.fop.render.pdf.PDFRenderer.renderImage(PDFRenderer.java:1663)
        at 
org.apache.fop.render.AbstractRenderer.renderViewport(AbstractRenderer.java:748)
        at 
org.apache.fop.render.AbstractPathOrientedRenderer.renderViewport(AbstractPathOrientedRenderer.java:556)
        at 
org.apache.fop.render.AbstractRenderer.renderInlineArea(AbstractRenderer.java:631)
        at 
org.apache.fop.render.pdf.PDFRenderer.renderInlineArea(PDFRenderer.java:1329)
        at 
org.apache.fop.render.AbstractRenderer.renderLineArea(AbstractRenderer.java:606)
        at 
org.apache.fop.render.pdf.PDFRenderer.renderLineArea(PDFRenderer.java:1320)
        at 
org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:532)
        at 
org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:582)
        at 
org.apache.fop.render.pdf.PDFRenderer.renderBlock(PDFRenderer.java:1313)
        at 
org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:522)
        at 
org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:582)
        at 
org.apache.fop.render.pdf.PDFRenderer.renderBlock(PDFRenderer.java:1313)
        at 
org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:522)
        at 
org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:568)
        at 
org.apache.fop.render.pdf.PDFRenderer.renderBlock(PDFRenderer.java:1313)
        at 
org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:522)
        at 
org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:582)
        at 
org.apache.fop.render.pdf.PDFRenderer.renderBlock(PDFRenderer.java:1313)
        at 
org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:522)
        at 
org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:582)
        at 
org.apache.fop.render.pdf.PDFRenderer.renderBlock(PDFRenderer.java:1313)
        at 
org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:522)
        at 
org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:582)
        at 
org.apache.fop.render.pdf.PDFRenderer.renderBlock(PDFRenderer.java:1313)
        at 
org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:522)
        at 
org.apache.fop.render.AbstractRenderer.renderFlow(AbstractRenderer.java:427)
        at 
org.apache.fop.render.AbstractRenderer.renderMainReference(AbstractRenderer.java:406)
        at 
org.apache.fop.render.AbstractRenderer.renderBodyRegion(AbstractRenderer.java:340)
        at 
org.apache.fop.render.AbstractRenderer.renderRegionViewport(AbstractRenderer.java:285)
        at 
org.apache.fop.render.AbstractRenderer.renderPageAreas(AbstractRenderer.java:258)
        at 
org.apache.fop.render.AbstractRenderer.renderPage(AbstractRenderer.java:232)
        at 
org.apache.fop.render.pdf.PDFRenderer.renderPage(PDFRenderer.java:785)
        at 
org.apache.fop.area.RenderPagesModel.addPage(RenderPagesModel.java:118)
        at 
org.apache.fop.layoutmgr.AbstractPageSequenceLayoutManager.finishPage(AbstractPageSequenceLayoutManager.java:312)
        at 
org.apache.fop.layoutmgr.PageSequenceLayoutManager.finishPage(PageSequenceLayoutManager.java:161)
        at 
org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:102)
        at 
org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:234)
        at 
org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:123)
        at 
org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:374)
        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:196)
        at org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:546)
        at 
eu.trivera.cw.producer.content.producers.documents.extensions.codehighlighting.CodeBlockXMLFilter.endElement(CodeBlockXMLFilter.java:85)
        at 
net.sf.saxon.event.ContentHandlerProxy.endElement(ContentHandlerProxy.java:391)
        at net.sf.saxon.event.ProxyReceiver.endElement(ProxyReceiver.java:174)
        at 
net.sf.saxon.event.NamespaceReducer.endElement(NamespaceReducer.java:213)
        at 
net.sf.saxon.event.ComplexContentOutputter.endElement(ComplexContentOutputter.java:417)
        at 
net.sf.saxon.instruct.ElementCreator.processLeavingTail(ElementCreator.java:301)
        at net.sf.saxon.instruct.Instruction.process(Instruction.java:94)
        at net.sf.saxon.instruct.ForEach.processLeavingTail(ForEach.java:300)
        at net.sf.saxon.instruct.Block.processLeavingTail(Block.java:399)
        at net.sf.saxon.instruct.Instruction.process(Instruction.java:94)
        at net.sf.saxon.instruct.ForEach.processLeavingTail(ForEach.java:300)
        at 
net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:551)
        at net.sf.saxon.instruct.Block.processLeavingTail(Block.java:399)
        at 
net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:551)
        at net.sf.saxon.instruct.Block.processLeavingTail(Block.java:399)
        at net.sf.saxon.instruct.Instruction.process(Instruction.java:94)
        at 
net.sf.saxon.instruct.ElementCreator.processLeavingTail(ElementCreator.java:298)
        at net.sf.saxon.instruct.Block.processLeavingTail(Block.java:399)
        at net.sf.saxon.instruct.Template.applyLeavingTail(Template.java:175)
        at 
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:343)
        at net.sf.saxon.Controller.transformDocument(Controller.java:1735)
        at net.sf.saxon.Controller.transform(Controller.java:1559)
        at 
eu.trivera.cw.producer.content.producers.documents.DocumentProducer.transForm(DocumentProducer.java:180)
        at 
eu.trivera.cw.producer.content.producers.documents.DocumentProducer.produceDocuments(DocumentProducer.java:70)
        at 
eu.trivera.cw.producer.content.ContentManager.createDocuments(ContentManager.java:164)
        at 
eu.trivera.cw.producer.content.ContentManager.startJob(ContentManager.java:82)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to