]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
no longer needed
authorKeiron Liddle <keiron@apache.org>
Mon, 21 May 2001 12:05:45 +0000 (12:05 +0000)
committerKeiron Liddle <keiron@apache.org>
Mon, 21 May 2001 12:05:45 +0000 (12:05 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194259 13f79535-47bb-0310-9956-ffa450edef68

src/org/apache/fop/fo/SVGTreeBuilder.java [deleted file]
src/org/apache/fop/svg/SVGDriver.java [deleted file]

diff --git a/src/org/apache/fop/fo/SVGTreeBuilder.java b/src/org/apache/fop/fo/SVGTreeBuilder.java
deleted file mode 100644 (file)
index 2b882ab..0000000
+++ /dev/null
@@ -1,293 +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.fo.*;
-import org.apache.fop.svg.*;
-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.helpers.DefaultHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.InputSource;
-import org.xml.sax.Attributes;
-
-import org.apache.batik.dom.svg.*;
-import org.w3c.dom.*;
-import org.w3c.dom.svg.*;
-import org.w3c.dom.svg.SVGLength;
-
-import org.w3c.dom.DOMImplementation;
-import org.apache.batik.dom.svg.SVGDOMImplementation;
-
-// Java
-import java.util.Hashtable;
-import java.util.Stack;
-import java.io.IOException;
-import java.io.File;
-
-// NOTE: This class is here since a number of FObj methods that
-// are called are protected. This should probably be fixed.
-/**
- * SAX Handler that builds the formatting object tree.
- */
-public class SVGTreeBuilder extends DefaultHandler implements TreeBuilder {
-
-    /**
-     * table mapping element names to the makers of objects
-     * representing formatting objects
-     */
-    protected Hashtable fobjTable = new Hashtable();
-
-    /**
-     * class that builds a property list for each formatting object
-     */
-    protected Hashtable propertylistTable = new Hashtable();
-
-    /**
-     * current formatting object being handled
-     */
-    protected FObj currentFObj = null;
-
-    /**
-     * the root of the formatting object tree
-     */
-    protected FObj rootFObj = null;
-
-    /**
-     * set of names of formatting objects encountered but unknown
-     */
-    protected Hashtable unknownFOs = new Hashtable();
-
-    // 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 Stack namespaceStack = new Stack();
-
-        {
-       namespaceStack.push(new NSMap("xml",
-                                     "http://www.w3.org/XML/1998/namespace",
-                                     -1));
-       namespaceStack.push(new NSMap("", "http://www.w3.org/2000/svg", -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 = "";
-       String localPart = name;
-       if (colon != -1) {
-           prefix = name.substring(0, colon);
-           localPart = name.substring(colon + 1);
-       }
-       String uri = findURI(prefix);
-       if (uri == null) {
-           if (prefix.equals("")) {
-               return "http://www.w3.org/2000/svg^" + name;
-           } else {
-               throw new SAXException(new FOPException("Unknown namespace prefix " + prefix));
-           }
-       }
-       return uri + "^" + localPart;
-        }*/
-
-    /**
-     * add a mapping from element name to maker.
-     *
-     * @param namespaceURI namespace URI of formatting object element
-     * @param localName local name of formatting object element
-     * @param maker Maker for class representing formatting object
-     */
-    public void addMapping(String namespaceURI, String localName,
-                           FObj.Maker maker) {
-        this.fobjTable.put(namespaceURI + "^" + localName, maker);
-    }
-
-    /**
-     * add a mapping from element name to maker.
-     *
-     * @param namespaceURI namespace URI of formatting object element
-     * @param localName local name of formatting object element
-     * @param maker Maker for class representing formatting object
-     */
-    public void addPropertyList(String namespaceURI, Hashtable list) {
-        PropertyListBuilder plb;
-        plb = (PropertyListBuilder) this.propertylistTable.get(
-                namespaceURI);
-        if (plb == null) {
-            plb = new PropertyListBuilder();
-            plb.addList(list);
-            this.propertylistTable.put(namespaceURI, plb);
-        } else {
-            plb.addList(list);
-        }
-    }
-
-    /**
-     * add a mapping from element name to maker.
-     *
-     * @param namespaceURI namespace URI of formatting object element
-     * @param localName local name of formatting object element
-     * @param maker Maker for class representing formatting object
-     */
-    public void addElementPropertyList(String namespaceURI,
-                                       String localName, Hashtable list) {
-        PropertyListBuilder plb;
-        plb = (PropertyListBuilder) this.propertylistTable.get(
-                namespaceURI);
-        if (plb == null) {
-            plb = new PropertyListBuilder();
-            plb.addElementList(localName, list);
-            this.propertylistTable.put(namespaceURI, plb);
-        } else {
-            plb.addElementList(localName, list);
-        }
-    }
-
-    /** SAX Handler for characters */
-    public void characters(char data[], int start, int length) {
-        currentFObj.addCharacters(data, start, start + length);
-    }
-
-    /** SAX Handler for the end of an element */
-    public void endElement(String uri, String localName, String rawName) {
-        currentFObj.end();
-        currentFObj = (FObj) currentFObj.getParent();
-        /*     level--;
-               while (((NSMap) namespaceStack.peek()).level > level) {
-                   namespaceStack.pop();
-               }*/
-    }
-
-    /** SAX Handler for the start of the document */
-    public void startDocument() {
-        MessageHandler.logln("building svg tree");
-    }
-
-    /** SAX Handler for the start of an element */
-    public void startElement(String uri, String localName,
-                             String rawName, Attributes attlist) throws SAXException {
-        /* the formatting object started */
-        FObj fobj;
-        if (uri.equals("")) {
-            uri = "http://www.w3.org/2000/svg";
-        }
-
-        /* the maker for the formatting object started */
-        FObj.Maker fobjMaker;
-
-        /*     level++;
-               int length = attlist.getLength();
-               for (int i = 0; i < length; i++) {
-                   String att = attlist.getQName(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));
-                   }
-               }*/
-
-        //     String fullName = mapName(rawName);
-        String fullName = uri + "^" + localName;
-        fobjMaker = (FObj.Maker) fobjTable.get(fullName);
-        PropertyListBuilder currentListBuilder =
-          (PropertyListBuilder) this.propertylistTable.get(uri);
-
-        if (fobjMaker == null) {
-            if (!this.unknownFOs.containsKey(fullName)) {
-                this.unknownFOs.put(fullName, "");
-                MessageHandler.errorln(
-                  "WARNING: Unknown formatting object " + fullName);
-            }
-            fobjMaker = new FObjMixed.Maker(); // fall back
-        }
-
-        try {
-            PropertyList list = null;
-            if (currentListBuilder != null) {
-                list = currentListBuilder.makeList(fullName, attlist,
-                                                   (currentFObj == null) ? null :
-                                                   currentFObj.properties, currentFObj);
-            }
-            fobj = fobjMaker.make(currentFObj, list);
-        } catch (FOPException e) {
-            throw new SAXException(e);
-        }
-
-        if (rootFObj == null) {
-            rootFObj = fobj;
-            if (!fobj.getName().equals("svg:svg")) {
-                throw new SAXException(
-                  new FOPException("Root element must" +
-                                   " be svg, not " + fobj.getName()));
-            }
-        } else {
-            currentFObj.addChild(fobj);
-        }
-
-        currentFObj = fobj;
-    }
-
-    /**
-     */
-    public SVGDocument getSVGDocument() {
-        DOMImplementation impl = SVGDOMImplementation.getDOMImplementation();
-        String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
-        Document doc = impl.createDocument(svgNS, "svg", null);
-
-        Element svgRoot = doc.getDocumentElement();
-
-        try {
-            ((SVGOMDocument)doc).setURLObject(new File(".").toURL());
-        } catch (Exception e) {
-        }
-
-        DefaultSVGContext dc = new DefaultSVGContext() {
-                                   public float getPixelToMM() {
-                                       return 0.264583333333333333333f;
-                                       // 72 dpi
-                                   }
-                                   public float getViewportWidth() {
-                                       return 100;
-                                   }
-                                   public float getViewportHeight() {
-                                       return 100;
-                                   }
-                               };
-        ((SVGOMDocument)doc).setSVGContext(dc);
-        ((org.apache.fop.svg.SVGElement)rootFObj).buildTopLevel(doc, svgRoot);
-
-        return (SVGDocument)doc;
-    }
-}
diff --git a/src/org/apache/fop/svg/SVGDriver.java b/src/org/apache/fop/svg/SVGDriver.java
deleted file mode 100644 (file)
index 2a49659..0000000
+++ /dev/null
@@ -1,261 +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.svg;
-
-// FOP
-import org.apache.fop.fo.*;
-import org.apache.fop.apps.*;
-import org.apache.fop.fo.FOTreeBuilder;
-import org.apache.fop.fo.ElementMapping;
-import org.apache.fop.fo.PropertyListMapping;
-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.ContentHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-import org.w3c.dom.svg.*;
-
-// Java
-import java.io.PrintWriter;
-import java.io.IOException;
-
-/**
- */
-public class SVGDriver {
-
-    /** the FO tree builder */
-    protected SVGTreeBuilder treeBuilder;
-
-    /** the PrintWriter to use to output the results of the renderer */
-    protected PrintWriter writer;
-
-    /** create a new Driver */
-    public SVGDriver() {
-        this.treeBuilder = new SVGTreeBuilder();
-    }
-
-    /**
-     * 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;
-    }
-
-    /**
-     * add the element mapping with the given class name
-     */
-    public void addPropertyList(String listClassName) {
-        createPropertyList(listClassName).addToBuilder(this.treeBuilder);
-    }
-
-    /**
-     * protected method used by addPropertyList(String) to
-     * instantiate list mapping class
-     */
-    protected PropertyListMapping createPropertyList(
-      String listClassName) {
-        MessageHandler.logln("using property list mapping " +
-                             listClassName);
-
-        try {
-            return (PropertyListMapping) Class.forName(
-                     listClassName).newInstance();
-        } catch (ClassNotFoundException e) {
-            MessageHandler.errorln("Could not find " + listClassName);
-        }
-        catch (InstantiationException e) {
-            MessageHandler.errorln("Could not instantiate " +
-                                   listClassName);
-        }
-        catch (IllegalAccessException e) {
-            MessageHandler.errorln("Could not access " + listClassName);
-        }
-        catch (ClassCastException e) {
-            MessageHandler.errorln(listClassName + " is not an property list");
-        }
-        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 ContentHandler getContentHandler() {
-        return this.treeBuilder;
-    }
-
-    /**
-     * build the formatting object tree using the given SAX Parser and
-     * SAX InputSource
-     */
-    public void buildSVGTree(XMLReader parser,
-                             InputSource source) throws FOPException {
-
-        parser.setContentHandler(this.treeBuilder);
-        try {
-            parser.parse(source);
-        } catch (SAXException e) {
-            e.printStackTrace();
-            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 buildSVGTree(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());
-        }
-    }
-
-    public SVGDocument getSVGDocument() {
-        return this.treeBuilder.getSVGDocument();
-    }
-
-    /**
-     * format the formatting object tree into an area tree
-     */
-    public void format() throws FOPException {
-        FontInfo fontInfo = new FontInfo();
-    }
-}