diff options
author | arved <arved@unknown> | 2000-07-11 02:33:04 +0000 |
---|---|---|
committer | arved <arved@unknown> | 2000-07-11 02:33:04 +0000 |
commit | a7cb8680038aff8dcda369e5e3d70f05122c88dd (patch) | |
tree | fb28b50d021d73034349e89e351f7732725f4a1c /src/org/apache/fop/apps/XTCommandLine.java | |
parent | 170f86157921742ec0aec4fe50cfd9f34d181def (diff) | |
download | xmlgraphics-fop-a7cb8680038aff8dcda369e5e3d70f05122c88dd.tar.gz xmlgraphics-fop-a7cb8680038aff8dcda369e5e3d70f05122c88dd.zip |
Just in case
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@193475 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/org/apache/fop/apps/XTCommandLine.java')
-rw-r--r-- | src/org/apache/fop/apps/XTCommandLine.java | 61 |
1 files changed, 59 insertions, 2 deletions
diff --git a/src/org/apache/fop/apps/XTCommandLine.java b/src/org/apache/fop/apps/XTCommandLine.java index c52f68816..00ab8162e 100644 --- a/src/org/apache/fop/apps/XTCommandLine.java +++ b/src/org/apache/fop/apps/XTCommandLine.java @@ -67,6 +67,7 @@ import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; // Java +import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.PrintWriter; @@ -82,7 +83,7 @@ import java.net.URL; * treats XSLProcessor as SAXParser * */ -public class XTCommandLine extends CommandLine { +public class XTCommandLine { /** * mainline method. @@ -113,7 +114,7 @@ public class XTCommandLine extends CommandLine { try { xslProcessor.loadStylesheet(fileInputSource(args[1])); - Driver driver = new Driver(); + XTDriver driver = new XTDriver(); driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer", version); driver.addElementMapping("org.apache.fop.fo.StandardElementMapping"); @@ -127,4 +128,60 @@ public class XTCommandLine extends CommandLine { System.exit(1); } } + + /** + * creates a SAX parser, using the value of org.xml.sax.parser + * defaulting to org.apache.xerces.parsers.SAXParser + * + * @return the created SAX parser + */ + static Parser createParser() { + String parserClassName = + System.getProperty("org.xml.sax.parser"); + if (parserClassName == null) { + parserClassName = "com.jclark.xml.sax.Driver"; + } + org.apache.fop.messaging.MessageHandler.logln("using SAX parser " + parserClassName); + + try { + return (Parser) + Class.forName(parserClassName).newInstance(); + } catch (ClassNotFoundException e) { + org.apache.fop.messaging.MessageHandler.errorln("Could not find " + parserClassName); + } catch (InstantiationException e) { + org.apache.fop.messaging.MessageHandler.errorln("Could not instantiate " + + parserClassName); + } catch (IllegalAccessException e) { + org.apache.fop.messaging.MessageHandler.errorln("Could not access " + parserClassName); + } catch (ClassCastException e) { + org.apache.fop.messaging.MessageHandler.errorln(parserClassName + " is not a SAX driver"); + } + return null; + } + + /** + * create an InputSource from a file name + * + * @param filename the name of the file + * @return the InputSource created + */ + protected static InputSource fileInputSource(String filename) { + + /* this code adapted from James Clark's in XT */ + File file = new File(filename); + String path = file.getAbsolutePath(); + String fSep = System.getProperty("file.separator"); + if (fSep != null && fSep.length() == 1) + path = path.replace(fSep.charAt(0), '/'); + if (path.length() > 0 && path.charAt(0) != '/') + path = '/' + path; + try { + return new InputSource(new URL("file", null, + path).toString()); + } + catch (java.net.MalformedURLException e) { + throw new Error("unexpected MalformedURLException"); + } + } + } |