]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
fixed a couple of occasional problems with svg + batik
authorKeiron Liddle <keiron@apache.org>
Fri, 5 Oct 2001 10:29:48 +0000 (10:29 +0000)
committerKeiron Liddle <keiron@apache.org>
Fri, 5 Oct 2001 10:29:48 +0000 (10:29 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194491 13f79535-47bb-0310-9956-ffa450edef68

src/org/apache/fop/svg/SVGElement.java
src/org/apache/fop/svg/SVGElementMapping.java

index 65ba2effeb7dc27da751f6563849efef73a10e89..9ec955f2243b40bb70cac16eecf7f12c744880e4 100644 (file)
@@ -17,6 +17,7 @@ import org.apache.fop.layout.inline.*;
 import org.apache.fop.configuration.Configuration;
 
 import org.apache.batik.dom.svg.*;
+import org.apache.batik.dom.util.XMLSupport;
 import org.w3c.dom.*;
 import org.w3c.dom.svg.*;
 import org.w3c.dom.svg.SVGLength;
@@ -146,6 +147,11 @@ public class SVGElement extends SVGObj {
         }
 
         Element e = ((SVGDocument)doc).getRootElement();
+
+        //if(!e.hasAttributeNS(XMLSupport.XMLNS_NAMESPACE_URI, "xmlns")) {
+            e.setAttributeNS(XMLSupport.XMLNS_NAMESPACE_URI, "xmlns", SVGDOMImplementation.SVG_NAMESPACE_URI);
+        //}
+
         String s;
         SVGUserAgent userAgent = new SVGUserAgent(new AffineTransform());
         userAgent.setLogger(log);
index 548693967ae03e11c0305e982f9136836deb7be6..012cd9b89ee507b4fd3eb05a246a6361fe6306da 100644 (file)
@@ -14,6 +14,9 @@ import org.apache.fop.fo.DirectPropertyListBuilder;
 import org.apache.fop.fo.TreeBuilder;
 import org.apache.fop.fo.FOTreeBuilder;
 import org.apache.fop.fo.ElementMapping;
+import org.apache.fop.apps.Driver;
+
+import org.apache.batik.util.XMLResourceDescriptor;
 
 public class SVGElementMapping implements ElementMapping {
 
@@ -22,6 +25,11 @@ public class SVGElementMapping implements ElementMapping {
     public synchronized void addToBuilder(TreeBuilder builder) {
 
         if(foObjs == null) {
+            // this sets the parser that will be used
+            // by default (SVGBrokenLinkProvider)
+            // normally the user agent value is used
+            XMLResourceDescriptor.setXMLParserClassName(Driver.getParserClassName());
+
             foObjs = new HashMap();
             foObjs.put("svg", SVGElement.maker());
             foObjs.put("rect", SVGObj.maker("rect"));