We're having trouble with xml:space="preserve" attributes being set twice during SVG document transformation. When an SVG doc containing a <style> tag with xml:space="preserve" is passed in, it seems to print this attribute twice in the output. I've attached a small program and a simple SVG doc that demonstrates the problem.
This seems to have been mentioned a few times here in the past:
http://koala.ilog.fr/batik/mlists/batik-users/archives/msg02575.html http://koala.ilog.fr/batik/mlists/batik-users/archives/msg02595.html http://koala.ilog.fr/batik/mlists/batik-users/archives/msg02680.html
Is this a Batik problem, a Xerces problem, or something else? We're using the latest code from CVS, and JDK 1.4.2.
Thanks.
-- George Armhold Rutgers University eLearning Grant, DCIS
import java.io.*;
import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.*; import org.apache.batik.dom.svg.*; import org.apache.batik.util.*; import org.w3c.dom.*; import org.w3c.dom.svg.*; /** * Demonstrate problem in Transformer- attribute "xml:space" gets * repeated in <style> tag during transformation. * */ public class TransformerTest { public static void main(final String[] args) throws Exception { if (args.length != 2) { System.err.println("Usage: java TransformerTest in.svg out.svg"); System.exit(1); } File infile = new File(args[0]); File outfile = new File(args[1]); String parser = XMLResourceDescriptor.getXMLParserClassName(); SAXSVGDocumentFactory svgFactory = new SAXSVGDocumentFactory(parser); SVGDocument doc = (SVGDocument) svgFactory.createDocument(infile.toURL().toString()); FileOutputStream fos = new FileOutputStream(outfile); TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(fos); transformer.transform(source, result); fos.close(); } }
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="text/ecmascript" contentStyleType="text/css" height="100%" kerning="0" preserveAspectRatio="xMinYMin meet" version="1.0" viewBox="0 0 3168 2448" width="100%" xml:space="preserve" zoomAndPan="magnify"> <style type="text/css" xml:space="preserve"> path {fill-rule:nonzero; stroke-linecap:round; stroke-linejoin:round} rect {stroke-linejoin:miter} text.t1 {font-family:'Times New Roman',serif;font-size:56;fill:#000000} </style> <g> <text x="100" y="50%" class="t1"> Nim: a simple game </text> </g> </svg>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]