git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@196792 13f79535-47bb-0310-9956-ffa450edef68pull/30/head
public InputHandler getInputHandler() throws FOPException { | public InputHandler getInputHandler() throws FOPException { | ||||
switch (inputmode) { | switch (inputmode) { | ||||
case FO_INPUT: | case FO_INPUT: | ||||
return new FOInputHandler(fofile); | |||||
return new FOFileHandler(fofile); | |||||
case XSLT_INPUT: | case XSLT_INPUT: | ||||
return new XSLTInputHandler(xmlfile, xsltfile); | return new XSLTInputHandler(xmlfile, xsltfile); | ||||
default: | default: |
if (reader == null) { | if (reader == null) { | ||||
if (!(source instanceof DocumentInputSource)) { | if (!(source instanceof DocumentInputSource)) { | ||||
//TODO: (gm) rename to FOFileHandler or similar | |||||
reader = org.apache.fop.apps.FOInputHandler.createParser(); | |||||
reader = FOFileHandler.createParser(); | |||||
} | } | ||||
} | } | ||||
/** | /** | ||||
* Manages input if it is an XSL-FO file. | * Manages input if it is an XSL-FO file. | ||||
*/ | */ | ||||
public class FOInputHandler extends InputHandler { | |||||
public class FOFileHandler extends InputHandler { | |||||
private File fofile = null; | private File fofile = null; | ||||
private URL foURL = null; | private URL foURL = null; | ||||
/** | /** | ||||
* Create a FOInputHandler for a file. | |||||
* Create a FOFileHandler for a file. | |||||
* @param fofile the file to read the FO document. | * @param fofile the file to read the FO document. | ||||
*/ | */ | ||||
public FOInputHandler(File fofile) { | |||||
public FOFileHandler(File fofile) { | |||||
this.fofile = fofile; | this.fofile = fofile; | ||||
} | } | ||||
/** | /** | ||||
* Create a FOInputHandler for an URL. | |||||
* Create a FOFileHandler for an URL. | |||||
* @param url the URL to read the FO document. | * @param url the URL to read the FO document. | ||||
*/ | */ | ||||
public FOInputHandler(URL url) { | |||||
public FOFileHandler(URL url) { | |||||
this.foURL = url; | this.foURL = url; | ||||
} | } | ||||
saxTFactory.newXMLFilter(xsltSource); | saxTFactory.newXMLFilter(xsltSource); | ||||
// Create an XMLReader. | // Create an XMLReader. | ||||
XMLReader parser = FOInputHandler.createParser(); | |||||
XMLReader parser = FOFileHandler.createParser(); | |||||
if (parser == null) { | if (parser == null) { | ||||
throw new FOPException("Unable to create SAX parser"); | throw new FOPException("Unable to create SAX parser"); | ||||
} | } |
import org.w3c.dom.Document; | import org.w3c.dom.Document; | ||||
// FOP | // FOP | ||||
import org.apache.fop.apps.FOInputHandler; | |||||
import org.apache.fop.apps.FOFileHandler; | |||||
/** | /** | ||||
* This is an implementation for XML-based images such as SVG. | * This is an implementation for XML-based images such as SVG. | ||||
* @return the created SAX parser | * @return the created SAX parser | ||||
*/ | */ | ||||
public static String getParserName() { | public static String getParserName() { | ||||
String parserClassName = FOInputHandler.getParserClassName(); | |||||
String parserClassName = FOFileHandler.getParserClassName(); | |||||
return parserClassName; | return parserClassName; | ||||
} | } | ||||
import org.apache.fop.fo.FONode; | import org.apache.fop.fo.FONode; | ||||
import org.apache.fop.fo.ElementMapping; | import org.apache.fop.fo.ElementMapping; | ||||
import org.apache.fop.apps.FOInputHandler; | |||||
import org.apache.fop.apps.FOFileHandler; | |||||
import org.apache.batik.util.XMLResourceDescriptor; | import org.apache.batik.util.XMLResourceDescriptor; | ||||
import org.apache.batik.dom.svg.SVGDOMImplementation; | import org.apache.batik.dom.svg.SVGDOMImplementation; | ||||
// normally the user agent value is used | // normally the user agent value is used | ||||
try { | try { | ||||
XMLResourceDescriptor.setXMLParserClassName( | XMLResourceDescriptor.setXMLParserClassName( | ||||
FOInputHandler.getParserClassName()); | |||||
FOFileHandler.getParserClassName()); | |||||
foObjs = new HashMap(); | foObjs = new HashMap(); | ||||
foObjs.put("svg", new SE()); | foObjs.put("svg", new SE()); |
* @return the XML parser class name | * @return the XML parser class name | ||||
*/ | */ | ||||
public String getXMLParserClassName() { | public String getXMLParserClassName() { | ||||
return org.apache.fop.apps.FOInputHandler.getParserClassName(); | |||||
return org.apache.fop.apps.FOFileHandler.getParserClassName(); | |||||
} | } | ||||
/** | /** |
package org.apache.fop.tools; | package org.apache.fop.tools; | ||||
import org.apache.fop.apps.Driver; | import org.apache.fop.apps.Driver; | ||||
import org.apache.fop.apps.FOInputHandler; | |||||
import org.apache.fop.apps.FOFileHandler; | |||||
import org.apache.fop.apps.FOPException; | import org.apache.fop.apps.FOPException; | ||||
import org.apache.fop.apps.InputHandler; | import org.apache.fop.apps.InputHandler; | ||||
import org.apache.fop.apps.XSLTInputHandler; | import org.apache.fop.apps.XSLTInputHandler; | ||||
InputHandler inputHandler = null; | InputHandler inputHandler = null; | ||||
if (xsl == null) { | if (xsl == null) { | ||||
inputHandler = new FOInputHandler(xmlFile); | |||||
inputHandler = new FOFileHandler(xmlFile); | |||||
} else { | } else { | ||||
inputHandler = new XSLTInputHandler(xmlFile, | inputHandler = new XSLTInputHandler(xmlFile, | ||||
new File(baseDir + "/" | new File(baseDir + "/" |
// FOP | // FOP | ||||
import org.apache.fop.apps.Starter; | import org.apache.fop.apps.Starter; | ||||
import org.apache.fop.apps.InputHandler; | import org.apache.fop.apps.InputHandler; | ||||
import org.apache.fop.apps.FOInputHandler; | |||||
import org.apache.fop.apps.FOFileHandler; | |||||
import org.apache.fop.apps.Driver; | import org.apache.fop.apps.Driver; | ||||
import org.apache.fop.apps.FOPException; | import org.apache.fop.apps.FOPException; | ||||
import org.apache.fop.fo.FOUserAgent; | import org.apache.fop.fo.FOUserAgent; | ||||
private void render(File foFile, File outFile, | private void render(File foFile, File outFile, | ||||
int renderer) throws FOPException { | int renderer) throws FOPException { | ||||
InputHandler inputHandler = new FOInputHandler(foFile); | |||||
InputHandler inputHandler = new FOFileHandler(foFile); | |||||
OutputStream out = null; | OutputStream out = null; | ||||
try { | try { |