You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-users@xmlgraphics.apache.org by Dwayne Schultz <dw...@schultz.net> on 2003/08/01 03:44:55 UTC
SAX transcoding example?
I am attempting to transcode the results of an XSL translation. With
other systems like FOP I was able to get a ContentHandler from FOP that
the XSL engine would send events to. I see that TranscoderInput takes
an XMLReader in the constructor but how to make that work with a
ContentHandler has me confused. Do I make my own implementation of
XMLReader so Batik will call XMLReader.setContentHandler? What order
would I make my calls (ie: construct TranscoderInput,
Transformer.transform, PNGTranscoder.transcode)?
In an attempt to get a quick and inefficient solution I have made a
temporary DOM document from the result of the XSL transformation. I
get a DOMException while transcoding so I still have no solution. Here
is that code:
DOMResult domOutput = ...
... Do xsl translation
TranscoderInput input = new TranscoderInput(
domOutput.getNode().getOwnerDocument());
TranscoderOutput output = new TranscoderOutput(
response.getOutputStream());
ImageTranscoder transcoder = new PNGTranscoder();
try
{
transcoder.transcode(input, output);
}
catch (TranscoderException e)
{
throw new Error("Unexpected TranscoderException", e);
}
This gives me the following DOMException:
Exception in thread "main" org.w3c.dom.DOMException: The current node
(type: 9, name: #document) do not allow children of the given type
(type: 1, name: svg:svg)
at org.apache.batik.dom.AbstractNode.createDOMException(Unknown
Source)
at org.apache.batik.dom.AbstractDocument.checkChildType(Unknown
Source)
at
org.apache.batik.dom.AbstractParentNode.checkAndRemove(Unknown Source)
at org.apache.batik.dom.AbstractParentNode.insertBefore(Unknown
Source)
at
org.apache.batik.dom.util.DOMUtilities.deepCloneDocument(Unknown Source)
at
org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(Unknown
Source)
at
org.apache.batik.transcoder.image.ImageTranscoder.transcode(Unknown
Source)
at
org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Unknown
Source)
at
net.sf.colle.xml.BatikPlugin.finalizeResult(BatikPlugin.java:120)
at
net.sf.colle.xml.Transformation.transform(Transformation.java:384)
at
com.schield.market_indices.ThumbnailGenerator.generate(ThumbnailGenerato
r.java:111)
at
com.schield.market_indices.ThumbnailGenerator.main(ThumbnailGenerator.ja
va:57)
Any help is appreciated. I will take an inefficient DOM solution for
now but I would prefer a SAX solution.
Dwayne Schultz
============================
Use the right kind of glue
http://colle.sf.net
---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-users-help@xml.apache.org