cvs commit: xml-fop/src/org/apache/fop/svg XMLObj.java

2001-06-21 Thread keiron

keiron  01/06/21 07:33:23

  Modified:src/org/apache/fop/svg XMLObj.java
  Log:
  added a few extra useful methods
  
  Revision  ChangesPath
  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]




cvs commit: xml-fop/src/org/apache/fop/svg XMLObj.java SVGObj.java

2001-06-20 Thread keiron

keiron  01/06/20 02:17:40

  Modified:src/org/apache/fop/svg SVGObj.java
  Added:   src/org/apache/fop/svg XMLObj.java
  Log:
  allows better for other xml data
  
  Revision  ChangesPath
  1.5   +4 -91 xml-fop/src/org/apache/fop/svg/SVGObj.java
  
  Index: SVGObj.java
  ===
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/svg/SVGObj.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGObj.java   2001/06/13 16:06:21 1.4
  +++ SVGObj.java   2001/06/20 09:17:39 1.5
  @@ -1,4 +1,4 @@
  -/* $Id: SVGObj.java,v 1.4 2001/06/13 16:06:21 keiron Exp $
  +/* $Id: SVGObj.java,v 1.5 2001/06/20 09:17:39 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.
  @@ -8,27 +8,14 @@
   
   // FOP
   import org.apache.fop.fo.*;
  -import org.apache.fop.layout.Area;
  -import org.apache.fop.layout.FontState;
  -import org.apache.fop.apps.FOPException;
  -import org.apache.fop.layout.LinkSet;
   
  -import org.apache.batik.dom.svg.*;
  -
  -import org.w3c.dom.svg.*;
  -import org.w3c.dom.*;
  -
  -import java.util.*;
  -
   /**
* Since SVG objects are not layed out then this class checks
* that this element is not being layed out inside some incorrect
* element.
*/
  -public abstract class SVGObj extends FObj {
  +public abstract class SVGObj extends XMLObj {
   
  -String tagName = "";
  -String[] props = {};
   /**
*
* @param parent the parent formatting object
  @@ -37,83 +24,9 @@
   public SVGObj(FObj parent, PropertyList propertyList) {
   super(parent, propertyList);
   }
  -
  -protected static Hashtable ns = new Hashtable();
  -
  -public void addGraphic(Document doc, Element parent) {
  -Element element = doc.createElementNS("http://www.w3.org/2000/svg";,
  -  tagName);
  -//Element element = doc.createElement(tagName);
  -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) {
  -if (props[count].indexOf(":") == -1) {
  -element.setAttribute(props[count], rf);
  -} else {
  -String pref = props[count].substring(0,
  - 
props[count].indexOf(":"));
  -if (pref.equals("xmlns")) {
  -ns.put(props[count].substring(
  - props[count].indexOf(":") + 1), rf);
  -}
  -ns.put("xlink", "http://www.w3.org/1999/xlink";);
  -element.setAttributeNS((String) ns.get(pref),
  -   props[count], rf);
  -}
  -}
  -}
  -}
  -parent.appendChild(element);
  -int numChildren = this.children.size();
  -for (int i = 0; i < numChildren; i++) {
  -Object child = children.elementAt(i);
  -if (child instanceof SVGObj) {
  -((SVGObj) child).addGraphic(doc, element);
  -} else if (child instanceof String) {
  -org.w3c.dom.Text text = doc.createTextNode((String) child);
  -element.appendChild(text);
  -}
  -}
  -}
  -
  -/**
  - * layout this formatting object.
  - *
  - * @param area the area to layout the object into
  - * @return the status of the layout
  - */
  -public Status layout(Area area) throws FOPException {
  -/* generate a warning */
  -System.err.println("WARNING: " + this.name + " outside svg:svg");
  -
  -/* return status */
  -return new Status(Status.OK);
  -}
  -
  -/**
  - * These method overrides prevent problems with the different types.
  - */
  -public void setIsInTableCell() {
  -}
  -
  -public void forceStartOffset(int offset) {
  -}
  -
  -public void forceWidth(int width) {
  -}
  -
  -public void resetMarker() {
  -}
  -
  -public void setLinkSet(LinkSet linkSet) {
  -}
  -
  -public Vector getMarkerSnapshot(Vector snapshot) {
  -return snapshot;
  -}
   
  -public void rollback(Vector snapshot) {
  +public String getNameSpace() {
  +return "http://www.w3.org/2000/svg";;
   }
   }
   
  
  
  
  1.1  xml-fop/src/org/apache/fop/svg/XMLObj.java
  
  Index: XMLObj.java
  ===