Session Module

From BaseX Documentation

(Difference between revisions)
Jump to: navigation, search
(session:names)
Line 73: Line 73:
==session:get==
==session:get==
 +
 +
{{Mark|Updated with Version 9.3:}} Values that have no XQuery type will be returned as strings.
{| width='100%'
{| width='100%'
Line 81: Line 83:
| '''Summary'''
| '''Summary'''
|Returns the value of a session attribute with the specified <code>$name</code>. If the attribute is unknown, an empty sequence or the optionally specified {{Code|$default}} value will be returned instead.
|Returns the value of a session attribute with the specified <code>$name</code>. If the attribute is unknown, an empty sequence or the optionally specified {{Code|$default}} value will be returned instead.
-
|-
 
-
| '''Errors'''
 
-
|{{Error|get|#Errors}} the value of an attribute could not be retrieved.
 
|-
|-
| '''Examples'''
| '''Examples'''
Line 157: Line 156:
=Changelog=
=Changelog=
 +
 +
;Version 9.3
 +
 +
* Updated: [[#session:get|session:get]]: Values that have no XQuery type will be returned as strings.
;Version 9.0
;Version 9.0

Revision as of 11:28, 11 July 2019

This XQuery Module contains functions for accessing and modifying server-side session information. This module is mainly useful in the context of Web Applications.

Contents

Conventions

import module namespace session = "http://basex.org/modules/session";
...

Functions

session:id

Signatures session:id() as xs:string
Summary Returns the session ID of a servlet request.
Examples Running the server-side XQuery file id.xq via http://localhost:8984/id.xq:
import module namespace session = "http://basex.org/modules/session";
'Session ID: ' || session:id()

session:created

Signatures session:created() as xs:dateTime
Summary Returns the creation time of a session.

session:accessed

Signatures session:accessed() as xs:dateTime
Summary Returns the last access time of a session.

session:names

Signatures session:names() as xs:string*
Summary Returns the names of all attributes bound to the current session.
Examples Running the server-side XQuery file names.xq via http://localhost:8984/names.xq:
import module namespace session = "http://basex.org/modules/session";
session:names() ! element variable { . }

session:get

Updated with Version 9.3: Values that have no XQuery type will be returned as strings.

Signatures session:get($name as xs:string) as item()*
session:get($name as xs:string, $default as item()*) as item()*
Summary Returns the value of a session attribute with the specified $name. If the attribute is unknown, an empty sequence or the optionally specified $default value will be returned instead.
Examples Running the server-side XQuery file get.xq via http://localhost:8984/get.xq?key=user:
import module namespace session = "http://basex.org/modules/session";
'Value of ' || $key || ': ' || session:get($key)

session:set

Signatures session:set($name as xs:string, $value as item()*) as empty-sequence()
Summary Binds the specified $value to the session attribute with the specified $name.
Errors set: The supplied value cannot be materialized.
Examples Running the server-side XQuery file set.xq via http://localhost:8984/set.xq?key=user&value=john:
import module namespace session = "http://basex.org/modules/session";
session:set($key, $value), 'Variable was set.'

session:delete

Signatures session:delete($name as xs:string) as empty-sequence()
Summary Deletes a session attribute with the specified $name.
Examples Running the server-side XQuery file delete.xq via http://localhost:8984/delete.xq?key=user:
import module namespace session = "http://basex.org/modules/session";
session:delete($key), 'Variable was deleted.'

session:close

Signatures session:close() as empty-sequence()
Summary Unregisters a session and all data associated with it.

Errors

Code Description
get The stored attribute is no XQuery value.
set The supplied value cannot be materialized.

Changelog

Version 9.3
Version 9.0
Version 8.0

This module was introduced with Version 7.5.

Personal tools
Namespaces
Variants
Actions
Navigation
Print/export