You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by ke...@apache.org on 2001/06/21 16:33:23 UTC
cvs commit: xml-fop/src/org/apache/fop/svg XMLObj.java
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: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org