Fix syntax of wiki template usage so the content renders properly
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|file:list|$dir as xs:string|xs:string*}}<br /pre>{{Func|file:list|( $dir as xs:string, $recursive as xs:boolean|xs? :string*}}<br />{{Func|file:list|= false(), $dir pattern as xs:string, $recursive as xs :boolean, $pattern = ()) as xs:string|xs:string*}}<br /pre>
|- valign="top"
| '''Summary'''
|Lists all files and directories found in the specified {{Code|$dir}}. The returned paths are relative to the provided path.<br />The optional parameter If {{Code|$recursive}} specifies whether sub-directories is set to true, subdirectories will be traversed, too.<br />The optional parameter {{Code|$pattern}} defines a file name pattern in the [[Commands#Glob_Syntax|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|,}}).<br />
|- valign="top"
| '''Errors'''
|{{Error|not-found|#Errors}} the specified file does not exist.<br />{{Error|no-dir|#Errors}} the specified path does not point to a directory.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />|- valign="top"| '''Examples'''| Return the contents of large {{Code|.txt}} files located in a specific directory and its subdirectories:<pre lang='xquery'>let $root := 'path/to/files/'for $file in file:list($root, true(), '*.txt')let $path := $root || $filewhere file:size($path) > 1000000return file:read-text($path)</pre>
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:children|( $dir as xs:string|) as xs:string*}}</pre>
|- valign="top"
| '''Summary'''
|Returns the full paths to all files and directories found in the specified {{Code|$dir}}.<br/>The inverse function is {{Function||file:parent}}. The returned paths start with the specified directory. The related function {{Function||file:list}} returns relative file paths.
|- valign="top"
| '''Errors'''
|{{Error|not-found|#Errors}} the specified file does not exist.<br />{{Error|no-dir|#Errors}} the specified path does not point to a directory.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />|- valign="top"| '''Examples'''| Return the contents of large {{Code|.txt}} files located in a specific directory:<pre lang='xquery'>for $file in file:children('path/to/files/')where matches($file, '.txt', 'i') and file:size($file) > 1000000return file:read-text($$file)</pre>
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:descendants|( $dir as xs:string|) as xs:string*}}</pre>
|- valign="top"
| '''Summary'''
|Returns the full paths to all files and directories found in the specified {{Code|$dir}} and its sub-directoriessubdirectories.<br/>. The returned paths start with the specified directory. The related function {{Function||file:list}} returns creates relative file paths.
|- valign="top"
| '''Errors'''
|{{Error|not-found|#Errors}} the specified file does not exist.<br />{{Error|no-dir|#Errors}} the specified path does not point to a directory.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />|- valign="top"| '''Examples'''| Return the contents of all {{Code|.txt}} files located in a specific directory and its subdirectories:<pre lang='xquery'>for $file in file:descendants('path/to/files/')where matches($file, '.txt', 'i') and file:size($file) > 1000000return file:read-text($$file)</pre>
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|file:read-binary|$path as xs:string|xs:base64Binary}}<br /pre>{{Func|file:read-binary|( $path as xs:string, $offset as xs:integer|xs:base64Binary}}<br />{{Func|file:read-binary|$path as xs :string= (), $offset length as xs:integer, $length := ()) as xs:integer|xs:base64Binary}}</pre>
|- valign="top"
| '''Summary'''
|Reads the binary content of the file specified by {{Code|$path}} and returns it as [[Lazy Module|lazy]] {{Code|xs:base64Binary}} item.<br />The optional parameters {{Code|$offset}} and {{Code|$length}} can be used to read chunks of a file.
|- valign="top"
| '''Errors'''
|{{Error|not-found|#Errors}} the specified file does not exist.<br />{{Error|is-dir|#Errors}} the specified path is a directory.<br />{{Error|out-of-range|#Errors}} the offset or length is negative, or the chosen values would exceed the file bounds.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />
|- valign="top"
| '''Examples'''
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|file:read-text|$path as xs:string|xs:string}}<br /pre>{{Func|file:read-text|( $path as xs:string, $encoding as xs:string|xs :string}}<br />{{Func|file:read-text|$path as xs:string, $encoding as xs:string= (), $fallback as xs:boolean|? := false()) as xs:string}}<br /pre>
|- valign="top"
| '''Summary'''
|Reads the textual contents of the file specified by {{Code|$path}} and returns it as [[Lazy Module|lazy]] {{Code|xs:string}} item:
* The UTF-8 default encoding can be overwritten with the optional {{Code|$encoding}} argument.
* By default, invalid XML characters will be rejected. If {{Code|$fallback}} is set to trueenabled, these the characters will be replaced with the Unicode replacement character <code>FFFD</code> (�).
|- valign="top"
| '''Errors'''
|{{Error|not-found|#Errors}} the specified file does not exist.<br />{{Error|is-dir|#Errors}} the specified path is a directory.<br />{{Error|unknown-encoding|#Errors}} the specified encoding is not supported, or unknown.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.
|- valign="top"
| '''Examples'''
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|file:read-text-lines|$path as xs:string|xs:string*}}<br /pre>{{Func|file:read-text-lines|( $path as xs:string, $encoding as xs:string|xs:string*}}<br />{{Func|file:read-text-lines|$path as xs:string, $encoding as xs :string= (), $fallback as xs:boolean|xs:string*}}<br />{{Func|file:read-text-lines|$path as xs? :string, $encoding as xs:string, $fallback as xs:boolean= false(), $offset as xs:integer|xs:string*}}<br />{{Func|file:read-text-lines|$path as xs? :string= (), $encoding length as xs:string, $fallback as xsinteger? :boolean, $offset = ()) as xs:integer, $length as xs:integer|xs:string*}}<br /pre>
|- valign="top"
| '''Summary'''
|- valign="top"
| '''Errors'''
|{{Error|not-found|#Errors}} the specified file does not exist.<br />{{Error|is-dir|#Errors}} the specified path is a directory.<br />{{Error|unknown-encoding|#Errors}} the specified encoding is not supported, or unknown.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:create-dir|( $dir as xs:string|) as empty-sequence()}}<br /pre>
|- valign="top"
| '''Summary'''
|Creates the directory specified by {{Code|$dir}} if it does not already exist. Non-existing parent directories will be created as well.<br />
|- valign="top"
| '''Errors'''
|{{Error|exists|#Errors}} the specified target exists, but is no directory.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|file:create-temp-dir|$prefix as xs:string, $suffix as xs:string|xs:string}}<br /pre>{{Func|file:create-temp-dir|( $prefix as xs:string, $suffix as xs:string, $dir as xs:string| := ()) as xs:string}}</pre>
|- valign="top"
| '''Summary'''
|- valign="top"
| '''Errors'''
|{{Error|no-dir|#Errors}} the specified directory points to a file.<br />{{Error|io-error|#Errors}} the directory could not be created.
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|file:create-temp-file|$prefix as xs:string, $suffix as xs:string|xs:string}}<br /pre>{{Func|file:create-temp-file|( $prefix as xs:string, $suffix as xs:string, $dir as xs:string| := ()) as xs:string}}</pre>
|- valign="top"
| '''Summary'''
|- valign="top"
| '''Errors'''
|{{Error|no-dir|#Errors}} the specified directory points to a file.<br />{{Error|io-error|#Errors}} the directory could not be created.
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|file:delete|$path as xs:string|empty-sequence()}}<br /pre>{{Func|file:delete|( $path as xs:string, $recursive as xs:boolean|? := false()) as empty-sequence()}}<br /pre>
|- valign="top"
| '''Summary'''
|Recursively deletes a file or directory specified by {{Code|$path}}.<br />The optional parameter {{Code|$recursive}} specifies whether sub-directories subdirectories will be deleted, too.<br />
|- valign="top"
| '''Errors'''
|{{Error|not-found|#Errors}} the specified path does not exist.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|file:write|$path as xs:string, $items as item()*|empty-sequence()}}<br /pre>{{Func|file:write|( $path as xs:string, $items input as item()*, $params options as itemmap(*)? := map { })|as empty-sequence()}}<br /pre>
|- valign="top"
| '''Summary'''
|Writes a serialized sequence of items {{Code|$input}} to the specified file. If the file already exists, it will be overwritten.<br />The {{Code|$paramsoptions}} argument contains [[Serialization|serialization parameters]]. As with [https://www.w3.org/TR/xpath-functions-31/#func-serialize fn:serialize()], the parameters can be specified<br />
* either as children of an {{Code|<output:serialization-parameters/>}} element:
|{{Error|no-dir|#Errors}} the parent of specified path is no directory.<br />{{Error|is-dir|#Errors}} the specified path is a directory.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />
|- valign="top"
| '''Examples'''
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|file:write-binary|$path as xs:string, $value as xs:anyAtomicType|empty-sequence()}}<br /pre>{{Func|file:write-binary|( $path as xs:string, $value as xs:anyAtomicType, $offset as xs:integer| := ()) as empty-sequence()}}<br /pre>
|- valign="top"
| '''Summary'''
|Writes a binary item (xs:base64Binary, xs:hexBinary) to the specified file. If the file already exists, it will be overwritten.<br />If {{Code|$offset}} is specified, data will be written at this file position. An existing file may be resized by that operation.
|- valign="top"
| '''Errors'''
|{{Error|no-dir|#Errors}} the parent of specified path is no directory.<br />{{Error|is-dir|#Errors}} the specified path is a directory.<br />{{Error|out-of-range|#Errors}} the offset is negative, or it exceeds the current file size.<br/>{{Error|io-error|#Errors}} the operation fails for some other reason.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|file:write-text|$path as xs:string, $value as xs:string|empty-sequence()}}<br /pre>{{Func|file:write-text|( $path as xs:string, $value as xs:string, $encoding as xs:string| := ()) as empty-sequence()}}<br /pre>
|- valign="top"
| '''Summary'''
|Writes a string to the specified file. If the file already exists, it will be overwritten.<br />The optional parameter {{Code|$encoding}} defines the output encoding (default: UTF-8).<br />
|- valign="top"
| '''Errors'''
|{{Error|no-dir|#Errors}} the parent of specified path is no directory.<br />{{Error|is-dir|#Errors}} the specified path is a directory.<br />{{Error|unknown-encoding|#Errors}} the specified encoding is not supported, or unknown.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|file:write-text-lines|$path as xs:string, $values as xs:string*|empty-sequence()}}<br /pre>{{Func|file:write-text-lines|( $path as xs:string, $values as xs:string*, $encoding as xs:string| := ()) as empty-sequence()}}<br /pre>
|- valign="top"
| '''Summary'''
|Writes a sequence of strings to the specified file, each followed by the system specific newline character. If the file already exists, it will be overwritten.<br />The optional parameter {{Code|$encoding}} defines the output encoding (default: UTF-8).<br />
|- valign="top"
| '''Errors'''
|{{Error|no-dir|#Errors}} the parent of specified path is no directory.<br />{{Error|is-dir|#Errors}} the specified path is a directory.<br />{{Error|unknown-encoding|#Errors}} the specified encoding is not supported, or unknown.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|file:append|$path as xs:string, $items as item()*|empty-sequence()}}<br /pre>{{Func|file:append|( $path as xs:string, $items input as item()*, $params options as itemmap(*)? := map { })|as empty-sequence()}}<br /pre>
|- valign="top"
| '''Summary'''
|Appends a serialized sequence of items {{Code|$input}} to the specified file, with the supplied {{Code|$options}} as serialization parameters. If the file does not existsexist, a new file is created.<br />
|- valign="top"
| '''Errors'''
|{{Error|no-dir|#Errors}} the parent of specified path is no directory.<br />{{Error|is-dir|#Errors}} the specified path is a directory.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:append-binary|( $path as xs:string, $value as xs:anyAtomicType|) as empty-sequence()}}<br /pre>
|- valign="top"
| '''Summary'''
|Appends a binary item (xs:base64Binary, xs:hexBinary) to the specified file. If the file does not exists, a new one is created.<br />
|- valign="top"
| '''Errors'''
|{{Error|no-dir|#Errors}} the parent of specified path is no directory.<br />{{Error|is-dir|#Errors}} the specified path is a directory.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|file:append-text|$path as xs:string, $value as xs:string|empty-sequence()}}<br /pre>{{Func|file:append-text|( $path as xs:string, $value as xs:string, $encoding as xs:string| := ()) as empty-sequence()}}<br /pre>
|- valign="top"
| '''Summary'''
|Appends a string to a file specified by {{Code|$path}}. If the specified file does not exists, a new file is created.<br />The optional parameter {{Code|$encoding}} defines the output encoding (default: UTF-8).<br />
|- valign="top"
| '''Errors'''
|{{Error|no-dir|#Errors}} the parent of specified path is no directory.<br />{{Error|is-dir|#Errors}} the specified path is a directory.<br />{{Error|unknown-encoding|#Errors}} the specified encoding is not supported, or unknown.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|file:append-text-lines|$path as xs:string, $values as xs:string*|empty-sequence()}}<br /pre>{{Func|file:append-text-lines|( $path as xs:string, $values as xs:string*, $encoding as xs:string| := ()) as empty-sequence()}}<br /pre>
|- valign="top"
| '''Summary'''
|Appends a sequence of strings to the specified file, each followed by the system specific newline character. If the specified file does not exists, a new file is created.<br />The optional parameter {{Code|$encoding}} defines the output encoding (default: UTF-8).<br />
|- valign="top"
| '''Errors'''
|{{Error|no-dir|#Errors}} the parent of specified path is no directory.<br />{{Error|is-dir|#Errors}} the specified path is a directory.<br />{{Error|unknown-encoding|#Errors}} the specified encoding is not supported, or unknown.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:copy|( $source as xs:string, $target as xs:string|) as empty-sequence()}}<br /pre>
|- valign="top"
| '''Summary'''
|Copies a file or directory specified by {{Code|$source}} to the file or directory specified by {{Code|$target}}. If the target file already exists, it will be overwritten. No operation will be performed if the source and target path are equal.<br />
|- valign="top"
| '''Errors'''
|{{Error|not-found|#Errors}} the specified source does not exist.<br />{{Error|exists|#Errors}} the specified source is a directory and the target is a file.<br />{{Error|no-dir|#Errors}} the parent of the specified target is no directory.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:move|( $source as xs:string, $target as xs:string|) as empty-sequence()}}<br /pre>
|- valign="top"
| '''Summary'''
|Moves or renames the file or directory specified by {{Code|$source}} to the path specified by {{Code|$target}}. If the target file already exists, it will be overwritten. No operation will be performed if the source and target path are equal.<br />
|- valign="top"
| '''Errors'''
|{{Error|not-found|#Errors}} the specified source does not exist.<br />{{Error|exists|#Errors}} the specified source is a directory and the target is a file.<br />{{Error|no-dir|#Errors}} the parent of the specified target is no directory.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />|- valign="top"| '''Examples'''|When renaming a file, remember that relative file paths are resolved against the current working directory. Some ways to rename:<pre lang='xquery'>file:move('/projects/new/octopus', '/projects/new/septimus')</pre><pre lang='xquery'>$path ! file:move(., file:parent(.)||$newName)</pre>
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:exists|( $path as xs:string|) as xs:boolean}}<br /pre>
|- valign="top"
| '''Summary'''
|Returns an {{Code|xs:boolean}} indicating whether a file or directory specified by {{Code|$path}} exists in the file system.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:is-dir|( $path as xs:string|) as xs:boolean}}<br /pre>
|- valign="top"
| '''Summary'''
|Returns an {{Code|xs:boolean}} indicating whether the argument {{Code|$path}} points to an existing directory.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:is-absolute|( $path as xs:string|) as xs:boolean}}<br /pre>
|- valign="top"
| '''Summary'''
|Returns an {{Code|xs:boolean}} indicating whether the argument {{Code|$path}} is absolute.<br />The behavior of this function depends on the operating system: On Windows, an absolute path starts with the drive letter and a colon, whereas on Linux it starts with a slash.
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:is-file|( $path as xs:string|) as xs:boolean}}<br /pre>
|- valign="top"
| '''Summary'''
|Returns an {{Code|xs:boolean}} indicating whether the argument {{Code|$path}} points to an existing file.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:last-modified|( $path as xs:string|) as xs:dateTime}}<br /pre>
|- valign="top"
| '''Summary'''
|Retrieves the timestamp of the last modification of the file or directory specified by {{Code|$path}}.<br />
|- valign="top"
| '''Errors'''
|{{Error|not-found|#Errors}} the specified path does not exist.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:size|( $path as xs:string|) as xs:integer}}<br /pre>
|- valign="top"
| '''Summary'''
|Returns the size, in bytes, of the file specified by {{Code|$path}}, or {{Code|0}} for directories.<br />
|- valign="top"
| '''Errors'''
|{{Error|not-found|#Errors}} the specified file does not exist.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:name|( $path as xs:string|) as xs:string}}</pre>
|- valign="top"
| '''Summary'''
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:parent|( $path as xs:string|) as xs:string?}}<br /pre>
|- valign="top"
| '''Summary'''
|Returns the absolute path to the parent directory of a file or directory specified by {{Code|$path}}. An empty sequence is returned if the path points to a root directory.<br/>The inverse function is {{Function||file:children}}.<br />
|- valign="top"
| '''Examples'''
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:path-to-native|( $path as xs:string|) as xs:string}}<br /pre>
|- valign="top"
| '''Summary'''
|Transforms the {{Code|$path}} argument to its native representation on the operating system.<br />
|- valign="top"
| '''Errors'''
|{{Error|not-found|#Errors}} the specified file does not exist.<br />{{Error|io-error|#Errors}} the specified path cannot be transformed to its native representation.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|file:resolve-path|$path as xs:string|xs:string}}<br /pre>{{Func|file:resolve-path|( $path as xs:string, $base as xs:string| := ()) as xs:string}}<br /pre>
|- valign="top"
| '''Summary'''
|Transforms the {{Code|$path}} argument to an absolute operating system path.<br />If the path is relative, and if an absolute {{Code|$base}} path is specified, it will be resolved against this path.
|- valign="top"
| '''Errors'''
|{{Error|is-relative|#Errors}} the specified base path is relative.<br />
|- valign="top"
| '''Examples'''
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:path-to-uri|( $path as xs:string|) as xs:string}}<br /pre>
|- valign="top"
| '''Summary'''
|Transforms the path specified by {{Code|$path}} into a URI with the {{Code|file://}} scheme.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Code|'''file:dir-separator'''() as xs:string}}<br />
|- valign="top"
| '''Summary'''
|Returns the directory separator used by the operating system, such as {{Code|/}} or {{Code|\}}.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Code|'''file:path-separator'''() as xs:string}}<br />
|- valign="top"
| '''Summary'''
|Returns the path separator used by the operating system, such as {{Code|;}} or {{Code|:}}.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:line-separator||() as xs:string}}</pre>
|- valign="top"
| '''Summary'''
|Returns the line separator used by the operating system, such as {{Code|&#10;}}, {{Code|&#13;&#10;}} or {{Code|&#13;}}.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:temp-dir||() as xs:string}}</pre>
|- valign="top"
| '''Summary'''
|Returns the system’s default temporary-file directory.<br />
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:current-dir||() as xs:string}}</pre>
|- valign="top"
| '''Summary'''
|Returns the ''current working directory'', i.e., the directory from which the query processor was started. This function returns the same result as the function call <code>file:resolve-path("")</code>.
|}
{| width='100%'
|- valign="top"
| width='120' | '''SignaturesSignature'''|{{Func|<pre>file:base-dir||() as xs:string?}}</pre>
|- valign="top"
| '''Summary'''
|Returns the parent directory of the static base URI. <br/>If the Base static base URI property is undefinedor does not point to a local resource, it returns the empty sequence is returned. - If a static base URI exists, and if points to a local file pathOtherwise, this function it returns the same result as the expression {{Code|file:parent(static-base-uri())}}.
|}
;Version 7.2.1
* Updated: {{Function||file:delete}}: {{Code|$recursive}} parameter added to prevent sub-directories subdirectories from being accidentally deleted.
* Fixed: {{Function||file:list}} now returns relative instead of absolute paths.