xmlgraphics-batik-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sebastian Hagen <Sebastian.Ha...@in-gmbh.de>
Subject Bug in PrettyPrinter? (CDATA-Tag)
Date Thu, 16 Jan 2003 17:59:50 GMT
Hello,

I am using Batik Pretty Printer for formated SVG Output.

First I create a SVGDocument from the following Code:




<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
	"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg width="500" height="500">
	<line x1="75" y1="285" x2="152" y2="228"
		 style="fill:none;stroke:rgb(149,91,91);stroke-width:2"/>
	<style type="text/css"><![CDATA[path {fill-rule:nonzero;
stroke-linecap:round; stroke-linejoin:round}
	rect {stroke-linejoin:miter}]]></style>
</svg>





Note that there is a CDATA Section within the code.
When I now use PrettyPrinter, I get the following result:
Please donĀ“t worry about, if the CDATA section makes sense within this code.





<svg contentScriptType="text/ecmascript" width="500"
     xmlns:xlink="http://www.w3.org/1999/xlink" zoomAndPan="magnify"
     contentStyleType="text/css" height="500"
     preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg"
     version="1.0">
    <style xml:space="preserve" type="text/css"
xml:space="preserve"><![CDATA[path {fill-rule:nonzero; stroke-linecap:round;
stroke-linejoin:round}]]><![CDATA[
]]><![CDATA[	rect {stroke-linejoin:miter}]]></style>
    <line y2="228.0"
          style="fill: none; stroke: rgb(149, 91, 91); stroke-width: 2; "
          x1="75.0" x2="152.0" y1="285.0"/>
</svg>




This code is not well formed anymore. Adobe SVG Viewer says: Double
attribute in line 7
My question now is: where do all those CDATA Tags come from. Below there is
a Java code, that shows how I am using the PrettyPrinter.

Is this a bug of PrettyPrinter, or did I do something wrong in my code.

Thanks,
Sebastian




public static void writeToFile( SVGDocument in_SVGDocument, String fileName
)
  {
    Reader r;
    Writer w = null;
    File objFile = new File( fileName );

    try
    {
      w = new FileWriter(objFile.getPath());
    }
    catch (IOException ex)
    {
    }

    PrettyPrinter objPrettyPrinter = new PrettyPrinter();

    objPrettyPrinter.setFormat(true);

    StringWriter sw = new StringWriter();

    try
    {
      DOMUtilities.writeDocument(in_SVGDocument, sw);
    }
    catch (IOException ex)
    {
    }

    r = new StringReader(sw.toString());

    try
    {
      objPrettyPrinter.print(r, w);
    }
    catch (TranscoderException ex)
    {
      }catch (IOException ex)
      {
    }

      try
      {
        w.flush();
        w.close();
      }
      catch (IOException ex)
      {
      }
  }

---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-users-help@xml.apache.org


Mime
View raw message