Changes

Jump to navigation Jump to search
1,630 bytes added ,  13:51, 24 September 2019
no edit summary
This [[Module Library|XQuery Module]] contains functions related to file system operations, such as listing, reading, or writing files.
This module is based on the [http://expath.org/spec/file EXPath File Module].The following enhancements have not been added to the specification yet: {| class="wikitable"|- valign="top"! Function! Description|- valign="top"| [[#file:descendants|file:descendants]]| new function (since {{Version|9.3}})|- valign="top"| [[#file:is-absolute|file:is-absolute]]| new function|- valign="top"| [[#file:read-text|file:read-text]], [[#file:read-text-lines|file:read-text-lines]]| <code>$fallback</code> argument added|- valign="top"| [[#file:read-text-lines|file:read-text-lines]]| <code>$offset</code> and <code>$length</code> arguments added|- valign="top"| [[#file:resolve-path|file:resolve-path]]| <code>$base</code> argument added|}
=Conventions=
==file:list==
 
{| width='100%'
|-
| '''Summary'''
|Returns the full paths to all files and directories found in the specified {{Code|$dir}}.<br/>The inverse function is [[#file:parent|file:parent]]. The related function [[#file:list|file:list]] returns relative file paths.
|-
| '''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 />
|}
 
==file:descendants==
 
{{Mark|Introduced with Version 9.3:}}
 
{| width='100%'
|-
| width='120' | '''Signatures'''
|{{Func|file:descendants|$dir as xs:string|xs:string*}}
|-
| '''Summary'''
|Returns the full paths to all files and directories found in the specified {{Code|$dir}} and its sub-directories.<br/>. The related function [[#file:list|file:list]] returns relative file paths.
|-
| '''Errors'''
==file:read-text-lines==
 
{{Mark|Updated with Version 9.0:}} [[#file:read-text-lines|file:read-text-lines]]: <code>$offset</code> and <code>$length</code> argruments added.
{| width='100%'
|-
| width='120' | '''Signatures'''
|{{Func|file:read-text-lines|$path as xs:string|xs:string*}}<br />{{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, $offset as xs:integer|xs:string*}}<br />{{Func|file:read-text-lines|$path as xs:string, $encoding as xs:string, $fallback as xs:boolean, $offset as xs:integer, $length as xs:integer|xs:string*}}<br />
|-
| '''Summary'''
|-
| '''Summary'''
|Creates the directory specified by {{Code|$dir}}, including all nonif it does not already exist. Non-existing parent directorieswill be created as well.<br />
|-
| '''Errors'''
|{{Error|exists|#Errors}} a file with the same path already specified target exists, but is no directory.<br />{{Error|io-error|#Errors}} the operation fails for some other reason.<br />
|}
==file:delete==
 
{| width='100%'
|-
==file:write==
 
{| width='100%'
|-
| '''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 />
|-
| '''Examples'''
|
* <code><nowiki>file:write('data.bin', xs:hexBinary('414243'))</nowiki></code> writes a hex representation to the specified file.
* <code><nowiki>file:write('data.bin', xs:hexBinary('414243'), map { 'method': 'basex')</nowiki></code> writes binary data to the specified file (see [[XQuery_Extensions#Serialization|Serialization]] for more details).
|}
==file:append==
 
{| width='100%'
|-
|}
==file:copy==
==file:copy==
{| width='100%'
|-
==file:move==
 
{| width='100%'
|-
==file:exists==
 
{| width='100%'
|-
==file:is-file==
 
{| width='100%'
|-
==file:last-modified==
 
{| width='100%'
|-
==file:size==
 
{| width='100%'
|-
==file:name==
 
{| width='100%'
|-
{| width='100%'
 
|-
| width='120' | '''Signatures'''
==file:path-to-native==
 
{| width='100%'
|-
==file:path-to-uri==
 
{| width='100%'
|-
==file:dir-separator==
 
{| width='100%'
|-
==file:path-separator==
 
{| width='100%'
|-
==file:line-separator==
 
{| width='100%'
|-
|-
| '''Summary'''
|Returns the current working directory. - This function returns the same result as the function call <code>file:resolve-path("")</code><br />.
|}
;Version 9.0
* Added: [[#file:descendants|file:descendants]]* Updated: [[#file:read-text-lines|file:read-text-lines]]: <code>$offset</code> and <code>$length</code> argruments arguments added.
;Version 8.5
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu