Re: Mit XSLT erzeugte XML-Dateien wieder löschen



Hallo Ralf,

Dein Workaround funktioniert, vielen Dank!
Wäre natürlich schön gewesen, wenn sich der Transformer-Stream direkt schließen ließe, aber so geht's auf jeden Fall...
Die Sache ist dann wohl was für die nächste Java-Version...

Viele Grüße,
Danny



Ralf Ullrich schrieb:

Also mein ProcExplorer zeigt, dass die ziel.xml offen bleibt, nachdem der Transformer mit ihr fertig ist. Leider gibt es in der API keine Möglichkeit an den Stream heranzukommen, den der Transformer zum schreiben verwendet. Ich bin mir nicht sicher, aber das könnte ein Bug sein. (In den Javadoc ist aber AFAIK nirgends spezifiziert, was passieren soll, es ist also auch legitim, wenn der Transformer den Stream offen lässt.)

Auf jeden Fall lässt es sich leicht umschiffen, wenn man das StreamResult, statt über den Convenience Konstruktor mit File Argument, direkt aus einem OutputStream baut:


...
StreamResult xmlresult = new StreamResult();
xmlresult.setOutputStream(new FileOutputStream(ziel));
xmlresult.setSystemId(ziel.toURI().toString());
...
// Quelle und Ziel löschen
quelle.delete(); // funktioniert!
xmlresult.getOutputStream().close();
ziel.delete(); // funktioniert jetzt auch!



AFAIK zeigt das wieder einmal, dass man Convenience Methoden und Konstruktoren nur verwenden sollte, wenn man genau weiß, welche Konsequenzen das hat, und ansonsten sollte man alles lieber selbst machen und so die Kontrolle über das Geschehen behalten.

cu
.



Relevant Pages

  • Re: Mit XSLT erzeugte XML-Dateien wi eder =?iso-8859-15?Q?l=F6schen?=
    ... Also mein ProcExplorer zeigt, dass die ziel.xml offen bleibt, nachdem der Transformer mit ihr fertig ist. ... Leider gibt es in der API keine Möglichkeit an den Stream heranzukommen, den der Transformer zum schreiben verwendet. ... Auf jeden Fall lässt es sich leicht umschiffen, wenn man das StreamResult, statt über den Convenience Konstruktor mit File Argument, direkt aus einem OutputStream baut: ...
    (de.comp.lang.java)
  • Re: Computer power supply
    ... > That sounds more trouble than convenience.. ... > Is the step down transformer in the power supply just a normal step down ... > I would assume I could use the rectifier diodes on the board too?? ... The stepdown transformer is a switched mode power supply ...
    (sci.electronics.basics)
  • Re: Computer power supply
    ... That sounds more trouble than convenience.. ... Is the step down transformer in the power supply just a normal step down ... > Google is your friend. ...
    (sci.electronics.basics)
  • Re: How do I add the XML Version and Encoding Declaration to XML?
    ... What are you using to serialize the Document to XML? ... the Transformer class from Xerces outputs an XML document that is ... ByteArrayOutputStream baos = new ByteArrayOutputStream; ... StreamResult result = new StreamResult( ...
    (comp.lang.java.programmer)
  • Re: XML formatting LF/CR?
    ... ByteArrayOutputStream output = new ByteArrayOutputStream; ... StreamResult result = new StreamResult; ... DOMSource source = new DOMSource; ... Transformer transformer = fac.newTransformer; ...
    (comp.lang.java.programmer)

Loading