keiron      01/06/21 07:33:23

  Modified:    src/org/apache/fop/svg XMLObj.java
  Log:
  added a few extra useful methods
  
  Revision  Changes    Path
  1.2       +47 -5     xml-fop/src/org/apache/fop/svg/XMLObj.java
  
  Index: XMLObj.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/svg/XMLObj.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XMLObj.java       2001/06/20 09:17:39     1.1
  +++ XMLObj.java       2001/06/21 14:33:18     1.2
  @@ -1,4 +1,4 @@
  -/* $Id: XMLObj.java,v 1.1 2001/06/20 09:17:39 keiron Exp $
  +/* $Id: XMLObj.java,v 1.2 2001/06/21 14:33:18 keiron Exp $
    * 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.
  @@ -24,8 +24,8 @@
    */
   public abstract class XMLObj extends FObj {
   
  -    String tagName = "";
  -    String[] props = {};
  +    protected String tagName = "";
  +    protected String[] props = {};
       /**
        *
        * @param parent the parent formatting object
  @@ -40,8 +40,7 @@
       protected static Hashtable ns = new Hashtable();
   
       public void addGraphic(Document doc, Element parent) {
  -        Element element = doc.createElementNS(getNameSpace(),
  -                                              tagName);
  +        Element element = doc.createElementNS(getNameSpace(), tagName);
           //        Element element = doc.createElement(tagName);
           for (int count = 0; count < props.length; count++) {
               if (this.properties.get(props[count]) != null) {
  @@ -76,6 +75,49 @@
           }
       }
   
  +    public void buildTopLevel(Document doc, Element svgRoot) {
  +        // build up the info for the top level element
  +        for (int count = 0; count < props.length; count++) {
  +            if (this.properties.get(props[count]) != null) {
  +                String rf = this.properties.get(props[count]).getString();
  +                if (rf != null)
  +                    svgRoot.setAttributeNS(null, props[count], rf);
  +            }
  +        }
  +        //doc.appendChild(topLevel);
  +        int numChildren = this.children.size();
  +        for (int i = 0; i < numChildren; i++) {
  +            Object child = children.elementAt(i);
  +            if (child instanceof XMLObj) {
  +                ((XMLObj) child).addGraphic(doc, svgRoot);
  +            } else if (child instanceof String) {
  +                org.w3c.dom.Text text = doc.createTextNode((String) child);
  +                svgRoot.appendChild(text);
  +            }
  +        }
  +    }
  +
  +    public Document createBasicDocument() {
  +        Document doc = null;
  +
  +        Element svgRoot = null;
  +        try {
  +            //        DOMImplementation impl = 
javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation();
  +            //        String ns = GraphElementMapping.URI;
  +            //        doc = impl.createDocument(ns, "graph", null);
  +            doc = javax.xml.parsers.DocumentBuilderFactory.newInstance().
  +                  newDocumentBuilder().newDocument();
  +            Element el = doc.createElement("graph");
  +            doc.appendChild(el);
  +
  +            svgRoot = doc.getDocumentElement();
  +            buildTopLevel(doc, svgRoot);
  +
  +        } catch (Exception e) {
  +            e.printStackTrace();
  +        }
  +        return doc;
  +    }
       /**
        * layout this formatting object.
        *
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to