From: Keiron Liddle Date: Tue, 30 Oct 2001 07:06:02 +0000 (+0000) Subject: removed legacy files for xt and xalan 1 X-Git-Tag: fop-0_20_4-doc~238 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e596bcf62c65aac7bca248be3848b9ce9b4b797a;p=xmlgraphics-fop.git removed legacy files for xt and xalan 1 git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194525 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/org/apache/fop/apps/XTDriver.java b/src/org/apache/fop/apps/XTDriver.java deleted file mode 100644 index 1551760fa..000000000 --- a/src/org/apache/fop/apps/XTDriver.java +++ /dev/null @@ -1,336 +0,0 @@ -/* - * $Id$ - * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. - * For details on use and redistribution please refer to the - * LICENSE file included with these sources. - */ - -package org.apache.fop.apps; - -// FOP -import org.apache.fop.fo.XTFOTreeBuilder; -import org.apache.fop.fo.ElementMapping; -import org.apache.fop.layout.AreaTree; -import org.apache.fop.layout.FontInfo; -import org.apache.fop.render.Renderer; -import org.apache.fop.messaging.MessageHandler; - -// DOM -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Attr; - -// SAX -import org.xml.sax.DocumentHandler; -import org.xml.sax.InputSource; -import org.xml.sax.Parser; -import org.xml.sax.SAXException; -import org.xml.sax.helpers.AttributesImpl; - -// Java -import java.io.*; - -/** - *

Primary class that drives overall FOP process. - * - *

Once this class is instantiated, methods are called to set the - * Renderer to use, the (possibly multiple) ElementMapping(s) to - * use and the PrintWriter to use to output the results of the - * rendering (where applicable). In the case of the Renderer and - * ElementMapping(s), the Driver may be supplied either with the - * object itself, or the name of the class, in which case Driver will - * instantiate the class itself. The advantage of the latter is it - * enables runtime determination of Renderer and ElementMapping(s). - * - *

Once the Driver is set up, the buildFOTree method - * is called. Depending on whether DOM or SAX is being used, the - * invocation of the method is either buildFOTree(Document) or - * buildFOTree(Parser, InputSource) respectively. - * - *

A third possibility may be used to build the FO Tree, namely - * calling getDocumentHandler() and firing the SAX events yourself. - * - *

Once the FO Tree is built, the format() and render() methods may be - * called in that order. - * - *

Here is an example use of Driver from CommandLine.java: - * - *

- * Driver driver = new Driver();
- * driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer", version);
- * driver.addElementMapping("org.apache.fop.fo.StandardElementMapping");
- * driver.addElementMapping("org.apache.fop.svg.SVGElementMapping");
- * driver.setWriter(new PrintWriter(new FileWriter(args[1])));
- * driver.buildFOTree(parser, fileInputSource(args[0]));
- * driver.format();
- * driver.render();
- * 
- */ -public class XTDriver { - - /** - * the FO tree builder - */ - protected XTFOTreeBuilder treeBuilder; - - /** - * the area tree that is the result of formatting the FO tree - */ - protected AreaTree areaTree; - - /** - * the renderer to use to output the area tree - */ - protected Renderer renderer; - - /** - * the PrintWriter to use to output the results of the renderer - */ - protected PrintWriter writer; - - /** - * the stream to use to output the results of the renderer - */ - protected OutputStream stream; - - /** - * create a new Driver - */ - public XTDriver() { - this.treeBuilder = new XTFOTreeBuilder(); - } - - /** - * set the Renderer to use - */ - public void setRenderer(Renderer renderer) { - this.renderer = renderer; - } - - /** - * set the class name of the Renderer to use as well as the - * producer string for those renderers that can make use of it - */ - public void setRenderer(String rendererClassName, String producer) { - this.renderer = createRenderer(rendererClassName); - this.renderer.setProducer(producer); - } - - /** - * protected method used by setRenderer(String, String) to - * instantiate the Renderer class - */ - protected Renderer createRenderer(String rendererClassName) { - MessageHandler.logln("using renderer " + rendererClassName); - - try { - return (Renderer)Class.forName(rendererClassName).newInstance(); - } catch (ClassNotFoundException e) { - MessageHandler.errorln("Could not find " + rendererClassName); - } catch (InstantiationException e) { - MessageHandler.errorln("Could not instantiate " - + rendererClassName); - } catch (IllegalAccessException e) { - MessageHandler.errorln("Could not access " + rendererClassName); - } catch (ClassCastException e) { - MessageHandler.errorln(rendererClassName + " is not a renderer"); - } - return null; - } - - /** - * add the given element mapping. - * - * an element mapping maps element names to Java classes - */ - public void addElementMapping(ElementMapping mapping) { - mapping.addToBuilder(this.treeBuilder); - } - - /** - * add the element mapping with the given class name - */ - public void addElementMapping(String mappingClassName) { - createElementMapping(mappingClassName).addToBuilder(this.treeBuilder); - } - - /** - * protected method used by addElementMapping(String) to - * instantiate element mapping class - */ - protected ElementMapping createElementMapping(String mappingClassName) { - MessageHandler.logln("using element mapping " + mappingClassName); - - try { - return (ElementMapping)Class.forName(mappingClassName).newInstance(); - } catch (ClassNotFoundException e) { - MessageHandler.errorln("Could not find " + mappingClassName); - } catch (InstantiationException e) { - MessageHandler.errorln("Could not instantiate " - + mappingClassName); - } catch (IllegalAccessException e) { - MessageHandler.errorln("Could not access " + mappingClassName); - } catch (ClassCastException e) { - MessageHandler.errorln(mappingClassName - + " is not an element mapping"); - } - return null; - } - - /** - * return the tree builder (a SAX DocumentHandler). - * - * used in situations where SAX is used but not via a FOP-invoked - * SAX parser. A good example is an XSLT engine that fires SAX - * events but isn't a SAX Parser itself. - */ - public DocumentHandler getDocumentHandler() { - return this.treeBuilder; - } - - /** - * build the formatting object tree using the given SAX Parser and - * SAX InputSource - */ - public void buildFOTree(Parser parser, - InputSource source) throws FOPException { - - parser.setDocumentHandler(this.treeBuilder); - try { - parser.parse(source); - } catch (SAXException e) { - if (e.getException() instanceof FOPException) - throw (FOPException)e.getException(); - else - throw new FOPException(e.getMessage()); - } catch (IOException e) { - throw new FOPException(e.getMessage()); - } - } - - /** - * build the formatting object tree using the given DOM Document - */ - public void buildFOTree(Document document) throws FOPException { - - /* most of this code is modified from John Cowan's */ - - Node currentNode; - AttributesImpl currentAtts; - - /* temporary array for making Strings into character arrays */ - char[] array = null; - - currentAtts = new AttributesImpl(); - - /* start at the document element */ - currentNode = document; - - try { - while (currentNode != null) { - switch (currentNode.getNodeType()) { - case Node.DOCUMENT_NODE: - this.treeBuilder.startDocument(); - break; - case Node.CDATA_SECTION_NODE: - case Node.TEXT_NODE: - String data = currentNode.getNodeValue(); - int datalen = data.length(); - if (array == null || array.length < datalen) { - /* - * if the array isn't big enough, make a new - * one - */ - array = new char[datalen]; - } - data.getChars(0, datalen, array, 0); - this.treeBuilder.characters(array, 0, datalen); - break; - case Node.PROCESSING_INSTRUCTION_NODE: - this.treeBuilder.processingInstruction(currentNode.getNodeName(), - currentNode.getNodeValue()); - break; - case Node.ELEMENT_NODE: - NamedNodeMap map = currentNode.getAttributes(); - currentAtts.clear(); - for (int i = map.getLength() - 1; i >= 0; i--) { - Attr att = (Attr)map.item(i); - currentAtts.addAttribute("", att.getName(), "", - "CDATA", att.getValue()); - } - this.treeBuilder.startElement("", - currentNode.getNodeName(), - "", currentAtts); - break; - } - - Node nextNode = currentNode.getFirstChild(); - if (nextNode != null) { - currentNode = nextNode; - continue; - } - - while (currentNode != null) { - switch (currentNode.getNodeType()) { - case Node.DOCUMENT_NODE: - this.treeBuilder.endDocument(); - break; - case Node.ELEMENT_NODE: - this.treeBuilder.endElement("", - currentNode.getNodeName(), - ""); - break; - } - - nextNode = currentNode.getNextSibling(); - if (nextNode != null) { - currentNode = nextNode; - break; - } - - currentNode = currentNode.getParentNode(); - } - } - } catch (SAXException e) { - throw new FOPException(e.getMessage()); - } - } - - /** - * set the PrintWriter to use to output the result of the Renderer - * (if applicable) - */ - public void setWriter(PrintWriter writer) { - this.writer = writer; - } - - /** - * set the OutputStream to use to output the result of the Renderer - * (if applicable) - */ - public void setOutputStream(OutputStream stream) { - this.stream = stream; - } - - /** - * format the formatting object tree into an area tree - */ - public void format() throws FOPException { - FontInfo fontInfo = new FontInfo(); - this.renderer.setupFontInfo(fontInfo); - - //this.areaTree = new AreaTree(); - this.areaTree.setFontInfo(fontInfo); - - this.treeBuilder.format(areaTree); - } - - /** - * render the area tree to the output form - */ - public void render() throws IOException, FOPException { - //this.renderer.render(areaTree, this.stream); - } - -} diff --git a/src/org/apache/fop/fo/XTElementMapping.java b/src/org/apache/fop/fo/XTElementMapping.java deleted file mode 100644 index 0cfb25930..000000000 --- a/src/org/apache/fop/fo/XTElementMapping.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * $Id$ - * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. - * For details on use and redistribution please refer to the - * LICENSE file included with these sources. - */ - -package org.apache.fop.fo; - -public interface XTElementMapping { - - public void addToBuilder(XTFOTreeBuilder builder); -} diff --git a/src/org/apache/fop/fo/XTFOTreeBuilder.java b/src/org/apache/fop/fo/XTFOTreeBuilder.java deleted file mode 100644 index a827b3a15..000000000 --- a/src/org/apache/fop/fo/XTFOTreeBuilder.java +++ /dev/null @@ -1,136 +0,0 @@ -/* - * $Id$ - * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. - * For details on use and redistribution please refer to the - * LICENSE file included with these sources. - */ - -package org.apache.fop.fo; - -// FOP -import org.apache.fop.layout.AreaTree; -import org.apache.fop.messaging.MessageHandler; -import org.apache.fop.apps.FOPException; -import org.apache.fop.fo.pagination.Root; - -// SAX -import org.xml.sax.SAXException; -import org.xml.sax.Attributes; -import org.xml.sax.helpers.AttributesImpl; -import org.xml.sax.DocumentHandler; -import org.xml.sax.AttributeList; - -// Java -import java.util.Hashtable; -import java.util.Stack; -import java.io.IOException; - -/** - * SAX Handler that builds the formatting object tree. - */ -// public class XTFOTreeBuilder extends HandlerBase { -public class XTFOTreeBuilder extends FOTreeBuilder - implements DocumentHandler { - - // namespace implementation ideas pinched from John Cowan - protected static class NSMap { - String prefix; - String uri; - int level; - - NSMap(String prefix, String uri, int level) { - this.prefix = prefix; - this.uri = uri; - this.level = level; - } - - } - - protected int level = 0; - protected String m_uri = null; - protected String m_localPart = null; - protected Stack namespaceStack = new Stack(); - - { - namespaceStack.push(new NSMap("xml", - "http://www.w3.org/XML/1998/namespace", - -1)); - namespaceStack.push(new NSMap("", "", -1)); - } - - protected String findURI(String prefix) { - for (int i = namespaceStack.size() - 1; i >= 0; i--) { - NSMap nsMap = (NSMap)(namespaceStack.elementAt(i)); - if (prefix.equals(nsMap.prefix)) - return nsMap.uri; - } - return null; - } - - protected String mapName(String name) throws SAXException { - - int colon = name.indexOf(':'); - String prefix = ""; - m_localPart = name; - if (colon != -1) { - prefix = name.substring(0, colon); - m_localPart = name.substring(colon + 1); - } - m_uri = findURI(prefix); - if (m_uri == null) { - if (prefix.equals("")) { - return name; - } else { - throw new SAXException(new FOPException("Unknown namespace prefix " - + prefix)); - } - } - return m_uri + "^" + m_localPart; - } - - /** - * SAX1 Handler for the end of an element - */ - public void endElement(String rawName) throws SAXException { - mapName(rawName); - super.endElement(m_uri, m_localPart, rawName); - level--; - while (((NSMap)namespaceStack.peek()).level > level) { - namespaceStack.pop(); - } - } - - /** - * SAX1 Handler for the start of an element - */ - public void startElement(String rawName, - AttributeList attlist) throws SAXException { - - // SAX2 version of AttributeList - AttributesImpl newAttrs = new AttributesImpl(); - - level++; - int length = attlist.getLength(); - for (int i = 0; i < length; i++) { - String att = attlist.getName(i); - if (att.equals("xmlns")) { - namespaceStack.push(new NSMap("", attlist.getValue(i), - level)); - } else if (att.startsWith("xmlns:")) { - String value = attlist.getValue(i); - namespaceStack.push(new NSMap(att.substring(6), value, - level)); - } else { - mapName(att); - newAttrs.addAttribute(m_uri, m_localPart, att, - attlist.getType(i), - attlist.getValue(i)); - } - - } - - mapName(rawName); - super.startElement(m_uri, m_localPart, rawName, newAttrs); - } - -} diff --git a/src/org/apache/fop/tools/xslt/Xalan1Transform.java b/src/org/apache/fop/tools/xslt/Xalan1Transform.java deleted file mode 100644 index 40fdbd9a7..000000000 --- a/src/org/apache/fop/tools/xslt/Xalan1Transform.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * $Id$ - * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. - * For details on use and redistribution please refer to the - * LICENSE file included with these sources. - */ - -package org.apache.fop.tools.xslt; - -import org.apache.xalan.xslt.*; - -import java.io.FileInputStream; -import java.io.InputStream; -import java.util.Hashtable; -import org.w3c.dom.Document; - -/** - * Handles xslt tranformations via Xalan1 (non-trax) - */ - -public class Xalan1Transform { - - /** - * Cache of compiled stylesheets (filename, StylesheetRoot) - */ - private static Hashtable _stylesheetCache = new Hashtable(); - - public static StylesheetRoot getStylesheet(String xsltFilename, boolean cache) - throws org.xml.sax.SAXException { - if (cache && _stylesheetCache.containsKey(xsltFilename)) { - return (StylesheetRoot)_stylesheetCache.get(xsltFilename); - } - - // Use XSLTProcessor to instantiate an XSLTProcessor. - XSLTProcessor processor = XSLTProcessorFactory.getProcessor(); - - XSLTInputSource xslSheet = new XSLTInputSource(xsltFilename); - - // Perform the transformation. - StylesheetRoot compiledSheet = processor.processStylesheet(xslSheet); - if (cache) { - _stylesheetCache.put(xsltFilename, compiledSheet); - } - return compiledSheet; - } - - public static void transform(String xmlSource, String xslURL, - String outputFile) throws java.io.IOException, - java.net.MalformedURLException, - org.xml.sax.SAXException { - try { - javax.xml.parsers.DocumentBuilder docBuilder = - javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder(); - Document doc = docBuilder.parse(new FileInputStream(xmlSource)); - transform(doc, xslURL, outputFile); - } catch (javax.xml.parsers.ParserConfigurationException ex) { - throw new org.xml.sax.SAXException(ex); - } - - } - - public static void transform(Document xmlSource, String xslURL, - String outputFile) throws java.io.IOException, - java.net.MalformedURLException, - org.xml.sax.SAXException { - - XSLTResultTarget xmlResult = new XSLTResultTarget(outputFile); - - StylesheetRoot stylesheet = getStylesheet(xslURL, true); - - // Perform the transformation. - stylesheet.process(XSLTProcessorFactory.getProcessor(), xmlSource, - xmlResult); - } - - public static void transform(String xmlSource, String xslURL, - java.io.Writer outputFile) throws java.io.IOException, - java.net.MalformedURLException, - org.xml.sax.SAXException { - - XSLTInputSource source = new XSLTInputSource(xmlSource); - XSLTResultTarget xmlResult = new XSLTResultTarget(outputFile); - - StylesheetRoot stylesheet = getStylesheet(xslURL, true); - - // Perform the transformation. - stylesheet.process(XSLTProcessorFactory.getProcessor(), source, - xmlResult); - } - - public static void transform(Document xmlSource, InputStream xsl, - Document outputDoc) throws java.io.IOException, - java.net.MalformedURLException, - org.xml.sax.SAXException { - - XSLTInputSource source = new XSLTInputSource(xmlSource); - XSLTInputSource xslSheet = new XSLTInputSource(xsl); - XSLTResultTarget xmlResult = new XSLTResultTarget(outputDoc); - - - // Perform the transformation. - XSLTProcessor processor = XSLTProcessorFactory.getProcessor(); - - processor.process(source, xslSheet, xmlResult); - } - -}