- From: Florent Georges <fgeorges@fgeorges.org>
- Date: Mon, 2 Dec 2013 19:41:47 +0100
- To: Christian Grün <christian.gruen@gmail.com>
- Cc: EXPath CG <public-expath@w3.org>
On 2 December 2013 18:42, Christian Grün wrote:
>> Why do not copy the directory itself in the latter case?
> This is how file:copy and file:move is actually specified in the
> latest spec: “if $target is a directory, the source directory with all
> its files will be copied into the target directory”. [1]
Oops, yes indeed, I was looking at the current spec at
http://expath.org/spec/file. Which says: "if $target is a directory,
the source directory with all its files will be copied into the target
directory. If a file already exists, it will be overwritten."
What does it mean, "overwritten", for a directory? Is it going to
be completely deleted first? Are are all files from the source copied
(recursively) to the target, each overriding any corresponding target
if they exist?
>> 2) Furthermore, I wonder whether we should not rather use the
>> convention that directories are identified by a trailing slash.
> [...]
> Instead, we’d have to add various error checks to cover cases in
> which the string syntax does not match the actual operation (e.g.:
> file:create-dir("abc") ).
The trailing slash convention would give the user this ability, just
by using a different name. E.g. both following expressions would be
equivalent (both would throw an error if 'target' already exist and is
a file):
(
if ( file:is-dir('target') ) then
()
else
file:create-dir('target'),
file:copy('...', 'target')
)
file:copy('...', 'target/')
Just my 2 cents. Regards,
--
Florent Georges
http://fgeorges.org/
http://h2oconsulting.be/
Received on Monday, 2 December 2013 18:42:41 UTC