dba/config  library module
P

Summary

DBA configuration.
Tags

Author: Christian Grün, BaseX Team 2005-21, BSD License

__source : lib/config.xqm

Related documents
ViewDescriptionFormat
xqdocxqDoc xml file from the source modulexml
xqparsexqparse xml file from the source modulexml

Imports

This module is imported by 16 modules. It imports 1 modules.

dba/files 2 3 4 5 6 7 8
dba/files 2 3 4 5 6 7 8
dba/files 2 3 4 5 6 7 8
dba/files 2 3 4 5 6 7 8
dba/files 2 3 4 5 6 7 8
dba/files 2 3 4 5 6 7 8
dba/files 2 3 4 5 6 7 8
dba/users 2 3 4 5 6 7
imports
this
imports

Variables

3.1 $config:DIRECTORY

Summary
Current directory.
Type
xs:string
Annotations
%private()

3.2 $config:QUERY

Summary
Current query.
Type
xs:string
Annotations
%private()

3.3 $config:SESSION-KEY

Summary
Session key.
Type
xs:string

Functions

4.1 config:directory

Arities: config:directory#0config:directory#1

Summary
Returns the current working directory.
Signature
config:directory ( )  as xs:string
config:directory ( $value as xs:string )  as empty-sequence()
Return
  • xs:stringdirectory
Invokes 4 functions from 3 modules
  • {http://basex.org/modules/session}get#1
  • {http://basex.org/modules/session}set#2
  • {http://expath.org/ns/file}exists#1
  • {http://www.w3.org/2005/xpath-functions}exists#1
Invoked by 10 functions from 10 modules
Source ( 13 lines)
function config:directory() as xs:string {
  let $dir := session:get($config:DIRECTORY)
  return if(exists($dir) and file:exists($dir)) then (
    $dir
  ) else (
    $options:DBA-DIRECTORY
  )
}
function config:directory(
  $value  as xs:string
) as empty-sequence() {
  session:set($config:DIRECTORY, $value)
}

4.2 config:query

Arities: config:query#0config:query#1

Summary
Returns the name of the current query.
Signature
config:query ( )  as xs:string?
config:query ( $value as xs:string )  as empty-sequence()
Return
  • xs:string ?current query
Invokes 2 functions from 1 modules
  • {http://basex.org/modules/session}get#1
  • {http://basex.org/modules/session}set#2
Invoked by 6 functions from 6 modules
Source ( 9 lines)
function config:query(
) as xs:string? {
  session:get($config:QUERY)
}
function config:query(
  $value  as xs:string
) as empty-sequence() {
  session:set($config:QUERY, $value)
}

4.3 config:query-files

Arities: config:query-files#0

Summary
Returns the names of all files.
Signature
config:query-files ( )  as xs:string*
Return
  • xs:string *list of files
Invokes 4 functions from 3 modules
  • config:directory#0
  • {http://expath.org/ns/file}exists#1
  • {http://expath.org/ns/file}list#1
  • {http://www.w3.org/2005/xpath-functions}matches#2
Invoked by 2 functions from 2 modules
Source ( 5 lines)
function config:query-files() as xs:string* {
  let $dir := config:directory()
  where file:exists($dir)
  return file:list($dir)[matches(., '\.xqm?$')]
}

Namespaces

The following namespaces are defined:

PrefixUri
annhttp://www.w3.org/2012/xquery
configdba/config
optionsdba/options

6 RestXQ

None

Source Code

(:~
 : DBA configuration.
 :
 : @author Christian Grün, BaseX Team 2005-21, BSD License
 :)
module namespace config = 'dba/config';

import module namespace options = 'dba/options' at 'options.xqm';

(:~ Session key. :)
declare variable $config:SESSION-KEY := 'dba';
(:~ Current directory. :)
declare %private variable $config:DIRECTORY := 'dba-directory';
(:~ Current query. :)
declare %private variable $config:QUERY := 'dba-query';

(:~
 : Returns the current working directory.
 : @return directory
 :)
declare function config:directory() as xs:string {
  let $dir := session:get($config:DIRECTORY)
  return if(exists($dir) and file:exists($dir)) then (
    $dir
  ) else (
    $options:DBA-DIRECTORY
  )
};

(:~
 : Assigns a working directory.
 : @param  $value  value
 :)
declare function config:directory(
  $value  as xs:string
) as empty-sequence() {
  session:set($config:DIRECTORY, $value)
};

(:~
 : Returns the name of the current query.
 : @return current query
 :)
declare function config:query(
) as xs:string? {
  session:get($config:QUERY)
};

(:~
 : Assigns the name of the current query.
 : @param  $value  value
 :)
declare function config:query(
  $value  as xs:string
) as empty-sequence() {
  session:set($config:QUERY, $value)
};

(:~
 : Returns the names of all files.
 : @return list of files
 :)
declare function config:query-files() as xs:string* {
  let $dir := config:directory()
  where file:exists($dir)
  return file:list($dir)[matches(., '\.xqm?$')]
};