Looks similar to the way I do it:
 
document.getDocumentElement().appendChild(...);
 
I call Element.setAttribute(...) as opposed to setAttributeNS(...), but that 
shouldn't be a problem.
 
For your save routine, are you flushing the FileWriter before closing it?
 
Michael Bishop
 

________________________________

From: julie gautier [mailto:[EMAIL PROTECTED]
Sent: Thu 10/6/2005 10:38 AM
To: [email protected]
Subject: RE: Write a svg document to a file


To add elements to the svgRoot (created from the Document), I write things like 
that : 
 
Element rect = doc.createElementNS(svgNS, "rect");
rect.setAttributeNS(null, "x", "10");
rect.setAttributeNS(null, "y", "20");
rect.setAttributeNS(null, "width", "50");
rect.setAttributeNS(null, "height", "50");
svgRoot.appendChild(rect);
 
And the document (or I should say the svgRoot) is well streamed to output, so 
the dom tree seems to be correctly built...
 
Thanks for your help.
Julie

"Bishop, Michael W. CONTR J9C880" <[EMAIL PROTECTED]> a écrit :

        From your original post, it looks like you're using the SVGGraphics2D 
to create document fragments. That approach doesn't work well in that the 
SVGGraphics2D object doesn't render anything to your document. I ran into that 
problem myself. You did say you appended everything to your SVG root element 
though. The empty file does sound problematic of using the SVGGraphics2D object 
and expecting to have elements in your document that may not be there. How are 
you adding things? You may want to look up a quick routine to print DOM 
documents to the screen so you can see what the DOM tree actually represents.
        
        Michael Bishop
        
        ________________________________
        
        From: julie gautier [mailto:[EMAIL PROTECTED]
        Sent: Thu 10/6/2005 10:09 AM
        To: [email protected]
        Subject: RE: Write a svg document to a file
        
        
        Thanks for your answer. I tr ied your suggestion : I wrote :
        
        org.apache.batik.dom.util.DOMUtilities.writeDocument(doc, new 
FileWriter("c:\\test.svg"));
        
        where doc is the Document described in the example below.
        But it doesn't work : the svg file created is empty. Do you know why ?
        As I created the svg document by appending everything to the svgRoot 
element, I also tried as follow : 
        
        
org.apache.batik.dom.util.DOMUtilities.writeDocument(svgRoot.getOwnerDocument(),
 new FileWriter("c:\\test.svg"));
        
        but it failed too.
        Do you know what to do ?
        Thanks again.
        Julie
        
        
        "Bishop, Michael W. CONTR J9C880" a écrit :
        
        In my application I simply used 
org.apache.batik.dom.util.DOMUtilities.writeDocument(SVGDocument, FileWriter);
        
        Michael Bishop
        
        ________________________________
        
        From: julie gautier [mailto:[EMAIL PROTECTED]
        Sent: Thu 10/6/2005 7:52 AM
        To: [email protected]
        Subject: Write a svg do cument to a file
        
        
        Hi,
        I use Batik to create a svg document and display it on a window. For 
that I use the above code :
        
        public ActionForward doPerform(ActionMapping mapping, ActionForm form, 
HttpServletRequest request, HttpServletResponse response) throws Exception {
        ...
        /*creation of the svg document */
        
        DOMImplementation impl = SVGDOMImplementation.getDOMImplementation();
        String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
        Document doc = impl.createDocument(svgNS, "svg", null);
        SVGGraphics2D svgGenerator = ne w SVGGraphics2D(doc);
        
        Element svgRoot = svgGenerator.getRoot();
        
        /*insert svg into the document*/
        ...
        
        /*send to output*/
        java.io.OutputStream out = response.getOutputStream();
        boolean useCSS = false;
        Writer wout = new OutputStreamWriter(out, "iso-8859-1");
        svgGenerator.stream(svgRoot, wout);
        }
        
        
        This works fine. My problem is to send the "svgRoot" to a file on the 
server. Here is my cod e : 
        
        BufferedWriter bw = new BufferedWriter(new FileWriter("c:\\test.svg"));
        svgGenerator.stream(svgRoot, bw);
        bw.close();
        
        The document test.svg is created but when I try to open it I have an 
error : the first line is : 
        "" instead of "" and I'm not able to open the file.
        
        
        
        What should I do ?
        
        
        
        Thanks in advance.
        
        
        
        Julie
        
        ________________________________
        
        Appel audio GRATUIT partout dans le monde avec le nouveau Y ahoo! 
Messenger
        Téléchargez le ici ! 
        ---------------------------------------------------------------------
        To unsubscribe, e-mail: [EMAIL PROTECTED]
        For additional commands, e-mail: [EMAIL PROTECTED]
        
        ________________________________
        
        Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! 
Messenger
        Téléchargez le ici ! 
        ---------------------------------------------------------------------
        To unsubscribe, e-mail: [EMAIL PROTECTED]
        For additional commands, e-mail: [EMAIL PROTECTED]

________________________________

Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
Téléchargez le ici ! 
<http://us.rd.yahoo.com/messenger/mail_taglines/default/*http://fr.messenger.yahoo.com>
  

<<winmail.dat>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to