xsl-list
[Top] [All Lists]

RE: [xsl] <xsl:message terminate="yes"> results in zero byte file getting written

2007-03-28 15:04:56
As far as the spec is concerned the state of filestore is undefined after a
transformation fails, so this is presumably intended as a Saxon-specific
question rather than an XSLT language question. I would imagine that in this
situation you have started serializing the output but the first buffer-full
hasn't yet been flushed to disk at the time of termination. I've certainly
seen this leave empty files on disk (if your transformation had got further
it might have left a non-empty but incomplete output file), but I haven't
seen problems in deleting such files; presumably the problem is that the
process still has a connection open to the file. In your call you've created
the FileOutputStream yourself, and Saxon takes the view that if you create
the stream, then you should close it after use (Saxon will only close the
stream when it has created it itself.) So it might be as simple a matter as
closing the stream before attempting the file delete.

Michael Kay
http://www.saxonica.com/


-----Original Message-----
From: Grant Slade [mailto:grant(_dot_)slade(_at_)gmail(_dot_)com] 
Sent: 28 March 2007 21:47
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] <xsl:message terminate="yes"> results in zero 
byte file getting written

When I use the following to transform a file:

transformer.transform(xmlStreamSource, new StreamResult(new 
FileOutputStream("F:\\myfile.xml")));

If I have an <xsl:message terminate="yes"> in the xsl 
stylesheet "myfile.xml" gets written but as a zero byte file.

If I try and use Java to delete the file through the File 
class, it won't delete it although it finds the file through 
the exists() method.

My question is, is there a way to either not have the file 
get written in the first place, or is there a way to force a 
delete of that file?

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--