Difference between revisions of "File Module"

From BaseX Documentation
Jump to navigation Jump to search
Line 29: Line 29:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function returns an <code>xs:boolean</code> indicating whether a file or directory specified by <code>$path</code> exists in the file system.<br />
+
|Returns an <code>xs:boolean</code> indicating whether a file or directory specified by <code>$path</code> exists in the file system.<br />
 
|}
 
|}
  
Line 39: Line 39:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function returns an <code>xs:boolean</code> indicating whether the argument <code>$path</code> points to an existing directory.<br />
+
|Returns an <code>xs:boolean</code> indicating whether the argument <code>$path</code> points to an existing directory.<br />
 
|}
 
|}
  
Line 49: Line 49:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function returns an <code>xs:boolean</code> indicating whether the argument <code>$path</code> points to an existing file.<br />
+
|Returns an <code>xs:boolean</code> indicating whether the argument <code>$path</code> points to an existing file.<br />
 
|}
 
|}
  
Line 59: Line 59:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function retrieves the timestamp of the last modification of the file or directory specified by <code>$path</code>.<br />
+
|Retrieves the timestamp of the last modification of the file or directory specified by <code>$path</code>.<br />
 
|-
 
|-
 
| valign='top' | '''Errors'''
 
| valign='top' | '''Errors'''
Line 72: Line 72:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function returns the size, in bytes, of the file specified by <code>$path</code>.<br />
+
|Returns the size, in bytes, of the file specified by <code>$path</code>.<br />
 
|-
 
|-
 
| valign='top' | '''Errors'''
 
| valign='top' | '''Errors'''
Line 85: Line 85:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function returns the base-name of the path specified by <code>$path</code>, which is the component after the last directory separator.<br />If <code>$suffix</code> is specified, it will be trimmed from the end of the result.<br />
+
|Returns the base-name of the path specified by <code>$path</code>, which is the component after the last directory separator.<br />If <code>$suffix</code> is specified, it will be trimmed from the end of the result.<br />
 
|}
 
|}
  
Line 95: Line 95:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function returns the parent directory of the path specified by <code>$path</code>, which is the component before the last directory separator.<br />
+
|Returns the parent directory of the path specified by <code>$path</code>, which is the component before the last directory separator.<br />
 
|}
 
|}
  
Line 105: Line 105:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function transforms the <code>$path</code> argument to its native representation on the operating system.<br />
+
|Transforms the <code>$path</code> argument to its native representation on the operating system.<br />
 
|-
 
|-
 
| valign='top' | '''Errors'''
 
| valign='top' | '''Errors'''
Line 118: Line 118:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function transforms the <code>$path</code> argument to an absolute operating system path.<br />
+
|Transforms the <code>$path</code> argument to an absolute operating system path.<br />
 
|}
 
|}
  
Line 128: Line 128:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function transforms the path specified by <code>$path</code> into a URI with the <code>file://</code> scheme.<br />
+
|Transforms the path specified by <code>$path</code> into a URI with the <code>file://</code> scheme.<br />
 
|}
 
|}
  
Line 138: Line 138:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function lists all files and directories found in the specified <code>$directory</code>. The returned paths are relative to the provided path.<br />The optional parameter <code>$recursive</code> specifies whether the sub-directories are to be recursed as well.<br />The optional parameter <code>$pattern</code> defines a file name pattern in the [http://en.wikipedia.org/wiki/Glob_(programming) glob syntax]. If present, only those files and directories are returned that correspond to the pattern. Several patterns can be separated with a comma (<code>,</code>).<br />
+
|Lists all files and directories found in the specified <code>$directory</code>. The returned paths are relative to the provided path.<br />The optional parameter <code>$recursive</code> specifies whether the sub-directories are to be recursed as well.<br />The optional parameter <code>$pattern</code> defines a file name pattern in the [http://en.wikipedia.org/wiki/Glob_(programming) glob syntax]. If present, only those files and directories are returned that correspond to the pattern. Several patterns can be separated with a comma (<code>,</code>).<br />
 
|-
 
|-
 
| valign='top' | '''Errors'''
 
| valign='top' | '''Errors'''
Line 151: Line 151:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function recursively creates the directories specified by <code>$directory</code>.<br />
+
|Recursively creates the directories specified by <code>$directory</code>.<br />
 
|-
 
|-
 
| valign='top' | '''Errors'''
 
| valign='top' | '''Errors'''
Line 164: Line 164:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function recursively deletes a file or directory specified by <code>$path</code>.<br />
+
|Recursively deletes a file or directory specified by <code>$path</code>.<br />
 
|-
 
|-
 
| valign='top' | '''Errors'''
 
| valign='top' | '''Errors'''
Line 177: Line 177:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function reads the textual contents of the file specified by <code>$path</code> and returns it as a <code>xs:string</code>.<br />The optional parameter <code>$encoding</code> defines the encoding of the file.<br />
+
|Reads the textual contents of the file specified by <code>$path</code> and returns it as a <code>xs:string</code>.<br />The optional parameter <code>$encoding</code> defines the encoding of the file.<br />
 
|-
 
|-
 
| valign='top' | '''Errors'''
 
| valign='top' | '''Errors'''
Line 190: Line 190:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function reads the binary content of the file specified by <code>$path</code> and returns as a <code>xs:base64Binary</code>.<br />
+
|Reads the binary content of the file specified by <code>$path</code> and returns as a <code>xs:base64Binary</code>.<br />
 
|-
 
|-
 
| valign='top' | '''Errors'''
 
| valign='top' | '''Errors'''
Line 203: Line 203:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function writes a sequence of <code>$items</code> to a file specified by <code>$path</code>. If the specified file already exists, it will be overwritten.<br />The optional argument <code>$params</code> is used to set the serialization parameters  (see [[Serialization]] for more details).<br />
+
|Writes a sequence of <code>$items</code> to a file specified by <code>$path</code>. If the specified file already exists, it will be overwritten.<br />The optional argument <code>$params</code> is used to set the serialization parameters  (see [[Serialization]] for more details).<br />
 
|-
 
|-
 
| valign='top' | '''Errors'''
 
| valign='top' | '''Errors'''
Line 216: Line 216:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function writes a sequence of <code>xs:basex64Binary</code> <code>$items</code> to a file specified by <code>$path</code>. If the specified file already exists, it will be overwritten.<br />
+
|Writes a sequence of <code>xs:basex64Binary</code> <code>$items</code> to a file specified by <code>$path</code>. If the specified file already exists, it will be overwritten.<br />
 
|-
 
|-
 
| valign='top' | '''Errors'''
 
| valign='top' | '''Errors'''
Line 229: Line 229:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function appends a sequence of <code>$items</code> to a file specified by <code>$path</code>. If the specified file does not exists, a new file is created.<br />
+
|Appends a sequence of <code>$items</code> to a file specified by <code>$path</code>. If the specified file does not exists, a new file is created.<br />
 
|-
 
|-
 
| valign='top' | '''Errors'''
 
| valign='top' | '''Errors'''
Line 242: Line 242:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function appends a sequence of <code>xs:basex64Binary</code> <code>$items</code> to a file specified by <code>$path</code>. If the specified file does not exists, a new file is created.<br />
+
|Appends a sequence of <code>xs:basex64Binary</code> <code>$items</code> to a file specified by <code>$path</code>. If the specified file does not exists, a new file is created.<br />
 
|-
 
|-
 
| valign='top' | '''Errors'''
 
| valign='top' | '''Errors'''
Line 255: Line 255:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function copies a file specified by <code>$source</code> to the file or directory specified by <code>$target</code>. If the target represents an existing file, it will be overwritten. No operation will be performed if the source and target path are equal.<br />
+
|Copies a file specified by <code>$source</code> to the file or directory specified by <code>$target</code>. If the target represents an existing file, it will be overwritten. No operation will be performed if the source and target path are equal.<br />
 
|-
 
|-
 
| valign='top' | '''Errors'''
 
| valign='top' | '''Errors'''
Line 268: Line 268:
 
|-
 
|-
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
|This function moves or renames the file or directory specified by <code>$source</code> to the path specified by <code>$target</code>. No operation will be performed if the source and target path are equal.<br />
+
|Moves or renames the file or directory specified by <code>$source</code> to the path specified by <code>$target</code>. No operation will be performed if the source and target path are equal.<br />
 
|-
 
|-
 
| valign='top' | '''Errors'''
 
| valign='top' | '''Errors'''

Revision as of 21:17, 22 April 2011

This module contains XQuery Functions to perform file system related operations, such as listing, reading, or writing files. All functions are preceded by the file: prefix, which is linked to the http://expath.org/ns/file namespace. This module has been aligned with the latest EXPath File Module draft from 2011 (expected to be online soon). BaseX 6.6.2


file:directory-separator

Signatures file:directory-separator as xs:string
Summary This variable returns the directory separator used by the operating system, such as "/" or "\".

file:path-separator

Signatures file:path-separator as xs:string
Summary This variable returns the path separator used by the operating system, such as ";" or ":".

file:exists

Signatures file:exists($path as xs:string) as xs:boolean
Summary Returns an xs:boolean indicating whether a file or directory specified by $path exists in the file system.

file:is-directory

Signatures file:is-directory($path as xs:string) as xs:boolean
Summary Returns an xs:boolean indicating whether the argument $path points to an existing directory.

file:is-file

Signatures file:is-file($path as xs:string) as xs:boolean
Summary Returns an xs:boolean indicating whether the argument $path points to an existing file.

file:last-modified

Signatures file:last-modified($path as xs:string) as xs:dateTime
Summary Retrieves the timestamp of the last modification of the file or directory specified by $path.
Errors FOFL0001 is raised if the specified path does not exist.

file:size

Signatures file:size($file as xs:string) as xs:integer
Summary Returns the size, in bytes, of the file specified by $path.
Errors FOFL0001 is raised if the specified file does not exist.
FOFL0004 is raised if the specified file points to a directory.

file:base-name

Signatures file:base-name($path as xs:string) as xs:string
file:base-name($path as xs:string, $suffix as xs:string) as xs:string
Summary Returns the base-name of the path specified by $path, which is the component after the last directory separator.
If $suffix is specified, it will be trimmed from the end of the result.

file:dir-name

Signatures file:dir-name($path as xs:string) as xs:string
Summary Returns the parent directory of the path specified by $path, which is the component before the last directory separator.

file:path-to-native

Signatures file:path-to-native($path as xs:string) as xs:string
Summary Transforms the $path argument to its native representation on the operating system.
Errors FOFL0000 is raised if the specified path cannot be transformed to its native representation.

file:resolve-path

Signatures file:resolve-path($path as xs:string) as xs:string
Summary Transforms the $path argument to an absolute operating system path.

file:path-to-uri

Signatures file:path-to-uri($path as xs:string) as xs:string
Summary Transforms the path specified by $path into a URI with the file:// scheme.

file:list

Signatures file:list($directory as xs:string) as xs:string*
file:list($directory as xs:string, $recursive as xs:boolean) as xs:string*
file:list($directory as xs:string, $recursive as xs:boolean, $pattern as xs:string) as xs:string*
Summary Lists all files and directories found in the specified $directory. The returned paths are relative to the provided path.
The optional parameter $recursive specifies whether the sub-directories are to be recursed as well.
The optional parameter $pattern defines a file name pattern in the glob syntax. If present, only those files and directories are returned that correspond to the pattern. Several patterns can be separated with a comma (,).
Errors FOFL0003 is raised if the specified path does not point to a directory.
FOFL0000 is raised if the operation fails for some other reason.

file:create-directory

Signatures file:create-directory($directory as xs:string) as empty-sequence()
Summary Recursively creates the directories specified by $directory.
Errors FOFL0002 is raised if a file with the same path already exists.
FOFL0000 is raised if the operation fails for some other reason.

file:delete

Signatures file:delete($path as xs:string) as empty-sequence()
Summary Recursively deletes a file or directory specified by $path.
Errors FOFL0001 is raised if the specified path does not exist.
FOFL0000 is raised if the operation fails for some other reason.

file:read-text

Signatures file:read-text($path as xs:string) as xs:string
file:read-text($path as xs:string, $encoding as xs:string) as xs:string
Summary Reads the textual contents of the file specified by $path and returns it as a xs:string.
The optional parameter $encoding defines the encoding of the file.
Errors FOFL0001 is raised if the specified file does not exist.
FOFL0004 is raised if the specified path is a directory.
FOFL0005 is raised if the specified encoding is not supported, or unknown.
FOFL0000 is raised if the operation fails for some other reason.

file:read-binary

Signatures file:read-binary($path as xs:string) as xs:base64Binary
Summary Reads the binary content of the file specified by $path and returns as a xs:base64Binary.
Errors FOFL0001 is raised if the specified file does not exist.
FOFL0004 is raised if the specified path is a directory.
FOFL0000 is raised if the operation fails for some other reason.

file:write

Signatures file:write($path as xs:string, $items as xs:item()*) as empty-sequence()
file:write($path as xs:string, $items as xs:item()*, $params as xs:node()*) as empty-sequence()
Summary Writes a sequence of $items to a file specified by $path. If the specified file already exists, it will be overwritten.
The optional argument $params is used to set the serialization parameters (see Serialization for more details).
Errors FOFL0004 is raised if the specified path is a directory.
FOFL0000 is raised if the operation fails for some other reason.

file:write-binary

Signatures file:write-binary($path as xs:string, $items as xs:base64Binary) as empty-sequence()
Summary Writes a sequence of xs:basex64Binary $items to a file specified by $path. If the specified file already exists, it will be overwritten.
Errors FOFL0004 is raised if the specified path is a directory.
FOFL0000 is raised if the operation fails for some other reason.

file:append

Signatures file:append($path as xs:string, $items as xs:item()*) as empty-sequence()
file:append($path as xs:string, $items as xs:item()*, $params as xs:node()*) as empty-sequence()
Summary Appends a sequence of $items to a file specified by $path. If the specified file does not exists, a new file is created.
Errors FOFL0004 is raised if the specified path is a directory.
FOFL0000 is raised if the operation fails for some other reason.

file:append-binary

Signatures file:append-binary($path as xs:string, $items as xs:base64Binary) as empty-sequence()
Summary Appends a sequence of xs:basex64Binary $items to a file specified by $path. If the specified file does not exists, a new file is created.
Errors FOFL0004 is raised if the specified path is a directory.
FOFL0000 is raised if the operation fails for some other reason.

file:copy

Signatures file:copy($source as xs:string, $target as xs:string) as empty-sequence()
Summary Copies a file specified by $source to the file or directory specified by $target. If the target represents an existing file, it will be overwritten. No operation will be performed if the source and target path are equal.
Errors FOFL0001 is raised if the specified source does not exist.
FOFL0002 is raised if the specified source is a directory and the target is a file.
FOFL0003 is raised if the parent of the specified target is no directory.
FOFL0000 is raised if the operation fails for some other reason.

file:move

Signatures file:move($source as xs:string, $target as xs:string) as empty-sequence()
Summary Moves or renames the file or directory specified by $source to the path specified by $target. No operation will be performed if the source and target path are equal.
Errors FOFL0001 is raised if the specified source does not exist.
FOFL0002 is raised if the specified source is a directory and the target is a file.
FOFL0003 is raised if the parent of the specified target is no directory.
FOFL0000 is raised if the operation fails for some other reason.