The code is long, because there are many functions. However, I did something like the following, and it works:

let $o :=  file:create-dir("/Users/mycomputer/prova")
let $o3 := file:write("/Users/mycomputer/prova/file2.xml", 
                     (file:write("/Users/mycomputer/prova/file1.xml", "ciao"), file:read-text("/Users/mycomputer/prova/file1.xml"))   
                              )

return
($o, $o3)

The evaluation of the first write() is forced to happen and conclude before the second write() is evaluated. I am still experimenting on this, but would there be a way to force completion of evaluation without embedding?



On Mar 12, 2019, at 11:44 AM, Giuseppe G. A. Celano <celano@informatik.uni-leipzig.de> wrote:

let $o :=  file:create-dir("/Users/mycomputer/prova")
let $o2 := file:write("/Users/mycomputer/prova/file1.xml", "ciao")
let $o3 := file:write("/Users/mycomputer/prova/file2.xml", file:read-text("/Users/mycomputer/prova/file1.xml"))
return
($o, $o2, $o3)

This actually works. In my real example the writing of $o2 requires e few seconds. It might be that $o3 is evaluated while $o2 is still running?

Dr. Giuseppe G. A. Celano
DFG-project leader
Universität Leipzig
Institute of Computer Science, NLP
Augustusplatz 10

On Mar 12, 2019, at 11:27 AM, Michael Seiferle <ms@basex.org> wrote:

Hi Guiseppe, 

The following pattern is supposed to / does work:
file:write("1.txt", "Written to 1.txt"),
file:write("2.txt", file:read-text("1.txt")),
"Read from 2.txt: " || file:read-text('2.txt')

Could you maybe elaborate a bit more on your code?

Best from Konstanz

Michael 

Am 12.03.2019 um 11:19 schrieb Giuseppe G. A. Celano <celano@informatik.uni-leipzig.de>:

Hi
 
I wrote a single script which should do: write a file -> open this file -> write another different file. I put the write expressions in the right sequence, but it seems that the second one cannot happen because the file created by the first write function has not yet been created at the time the second function is invoked. Does anyone have a suggestion about this? Thanks.

Best,
Giuseppe