This page is linked from the Getting Started Section.
The options listed on this page influence the way how database commands are executed and XQuery expressions are evaluated. Three data types exist: strings, numbers, and booleans.
- Values can be changed with the SET command and requested with the GET command. All values are statically bound to a database session; they stay valid until they are changed once again by another operation. If an option is of type boolean, and if no value is specified, its existing value will be inverted.
- Version 7.4: Initial values for options can now be specified via system properties, which can e.g. be passed on with the -D flag on command line, or using System.setProperty() before creating a BaseX instance. The specified keys needs to be prefixed with
org.basex.. An example:
java -Dorg.basex.CHOP=false -cp basex.jar org.basex.BaseX -c"get chop"
CHOP: false
- Options can also be set in the prolog of XQuery expressions. In the option declaration, keys need to be prefixed with
db:. All values will be reset after the evaluation of a query:
declare option db:key 'value';
...
- Version 7.4: Options can be locally set in XQuery via pragma expressions. Note that, at least for now, local pragmas will have no effect on most update operations, as these will be evaluated at the very end of a query. The following query preserves whitespaces from the parsed XML string:
(# db:chop false #) { parse-xml('<xml> hi </xml>') }
If options are implicitly changed by operations in the GUI, the underlying commands will be listed in the Info View.
The main options are only available from the Standalone Mode and Database Server instances of BaseX, i.e., they cannot be changed by database clients. They are stored in the .basex config file, which is opened by every new BaseX instance:
General
DBPATH
| Signature
|
DBPATH [path]
|
| Default
|
{home}/BaseXData or {home}/data
|
| Summary
|
Points to the directory in which all databases are located. Note: this option can only be changed if no database is currently opened. If the option is changed, existing databases will not be moved to the new location.
|
REPOPATH
| Signature
|
REPOPATH [path]
|
| Default
|
{home}/BaseXRepo
|
| Summary
|
Points to the Repository, in which all XQuery modules are located. Note: if the option is changed, BaseX needs to be restarted in order to activate existing packages and avoid side effects.
|
DEBUG
| Signature
|
DEBUG [boolean]
|
| Default
|
false
|
| Summary
|
Sends internal debug info to STDERR. This option can be turned on to get additional information for development and debugging purposes.
|
LANG
| Signature
|
LANG [language]
|
| Default
|
English
|
| Summary
|
Specifies the interface language. Currently, seven languages are available: 'English', 'German', 'French', 'Dutch', 'Italian', 'Japanese', and 'Vietnamese'. BaseX needs to be restarted in order to activate the new language.
|
LANGKEY
| Signature
|
LANGKEY [boolean]
|
| Default
|
false
|
| Summary
|
Prefixes all texts with the internal language keys. This option is helpful if BaseX is translated into another language, and if you want to see where particular texts are displayed. BaseX needs to be restarted in order to activate this option.
|
Client/Server Architecture
HOST
| Signature
|
HOST [host]
|
| Default
|
localhost
|
| Summary
|
This host name is used by the client when connecting to a server.
|
PORT
| Signature
|
PORT [port]
|
| Default
|
1984
|
| Summary
|
This port is used by the client when connecting to a server.
|
SERVERPORT
| Signature
|
SERVERPORT [port]
|
| Default
|
1984
|
| Summary
|
This is the port the database server will be listening to.
|
EVENTPORT
| Signature
|
EVENTPORT [port]
|
| Default
|
1985
|
| Summary
|
This port is used by the client to listen for server events. This port will only be bound if a client attaches itself to a database event.
|
USER
Template:Mark
| Signature
|
USER [name]
|
| Default
|
empty
|
| Summary
|
Represents a default user name used for accessing the server or an HTTP service. The default value will be overwritten if a client specifies its own credentials. If the default value is empty, login will only be possible if the client specifies credentials.
|
PASSWORD
Template:Mark
| Signature
|
PASSWORD [password]
|
| Default
|
empty
|
| Summary
|
Represents a default password used for accessing the server or an HTTP service. The default value will be overwritten if a client specifies its own credentials. If the default value is empty, login will only be possible if the client specifies credentials. Please note that it is discouraged to store passwords in plain text.
|
SERVERHOST
| Signature
|
SERVERHOST [host|ip]
|
| Default
|
empty
|
| Summary
|
This is the host name or ip address the server is bound to. If the option is set to an empty string (which is the default), the server will be open to all clients.
|
PROXYHOST
| Signature
|
PROXYHOST [host]
|
| Default
|
empty
|
| Summary
|
This is the host name of a proxy server.
|
PROXYPORT
| Signature
|
PROXYPORT [port]
|
| Default
|
80
|
| Summary
|
This is the port number of a proxy server.
|
NONPROXYHOSTS
| Signature
|
NONPROXYHOSTS [hosts]
|
| Default
|
empty
|
| Summary
|
This is a list of hosts that should be directly accessed.
|
TIMEOUT
Template:Mark default value set from 0 to 30.
| Signature
|
TIMEOUT [seconds]
|
| Default
|
30
|
| Summary
|
Specifies the maximum time a read-only transaction may take. If an operation takes longer than the specified timeout, it will be aborted. Write operations will not be affected by this timeout, as this would corrupt the integrity of the database. The timeout is deactivated if the timeout is set to 0. It is ignored for ADMIN operations.
|
KEEPALIVE
Template:Mark default value set from 0 to 600.
| Signature
|
KEEPALIVE [seconds]
|
| Default
|
600
|
| Summary
|
Specifies the maximum time a client will be remembered by the server. If there has been no interaction with a client for a longer time than specified by this timeout, it will be disconnected. Running operations will not be affected by this option. The keepalive check is deactivated if the value is set to 0.
|
PARALLEL
| Signature
|
PARALLEL [number]
|
| Default
|
8
|
| Summary
|
Denotes the maximum allowed number of parallel read transactions.
|
LOG
Template:Mark
| Signature
|
LOG [boolean]
|
| Default
|
true
|
| Summary
|
Turns Logging of server operations and HTTP requests on/off.
|
LOGMSGMAXLEN
Template:Mark
| Signature
|
LOGMSGMAXLEN [length]
|
| Default
|
1000
|
| Summary
|
Specifies the maximum length of a single log message.
|
HTTP Options
If BaseX is run as Web Application, the HTTP options are either determined by the used web server or specified in the jetty.xml and web.xml configuration files in the webapp/WEB-INF directory.
HTTPPATH
Template:Mark this value has been replace with the WEBPATH option.
| Signature
|
HTTPPATH [path]
|
| Default
|
{home}/BaseXHTTP or {home}/http
|
| Summary
|
Points to the HTTP root directory, in which HTML files may be stored, and query files that will be evaluated by REST.
|
WEBPATH
Template:Mark this value is replacing the HTTPPATH option.
RESTXQPATH
Template:Mark
| Signature
|
RESTXQPATH [path]
|
| Default
|
(same as WEBPATH)
|
| Summary
|
Points to the directory which contains the RESTXQ modules of a web application.
|
STOPPORT
| Signature
|
STOPPORT [port]
|
| Default
|
8985
|
| Summary
|
This is the port on which the HTTP Server can be locally closed. This option will be ignored if the HTTP Services as Web Application, or via Maven.
|
HTTPSERVER
Template:Mark
| Signature
|
HTTPSERVER [boolean]
|
| Default
|
Standalone: true, Web Application: false
|
| Summary
|
Indicates if a database server instance will be opened along with the web server. If BaseX is run as Web Application, the server will be started as soon as the first HTTP service is called.
|
HTTPPORT
Template:Mark this value is now modified in the jetty.xml config file, which is located in the WEBPATH directory.
| Signature
|
HTTPPORT [port]
|
| Default
|
8984
|
| Summary
|
This is the port the HTTP Server will be listening to.
|
General
MAINMEM
| Signature
|
MAINMEM [boolean]
|
| Default
|
false
|
| Summary
|
If this option is turned on, new databases will be exclusively created in main memory. Most queries will be evaluated faster in main memory mode, but all data is lost if BaseX is shut down. The value of this option will be assigned once to a new database, and cannot be changed after that.
|
CREATEONLY
Template:Mark
| Signature
|
CREATEONLY [boolean]
|
| Default
|
false
|
| Summary
|
By default, newly created databases will automatically be opened in order to be available for further processing steps. By setting the flag to true, this will be prevented.
|
Parsing
CREATEFILTER
| Signature
|
CREATEFILTER [filter]
|
| Default
|
*.xml
|
| Summary
|
File filter in the Glob Syntax, which is applied whenever new databases are created, or resources are added to a database.
|
ADDARCHIVES
| Signature
|
ADDARCHIVES [boolean]
|
| Default
|
true
|
| Summary
|
If this option is set to true, files within archives (ZIP, GZIP, DOCX, etc.) are parsed whenever new database are created or resources are added to a database.
|
SKIPCORRUPT
| Signature
|
SKIPCORRUPT [boolean]
|
| Default
|
false
|
| Summary
|
Skips corrupt (i.e., not well-formed) files while creating a database or adding new documents. If this option is activated, document updates are slowed down, as all files will be parsed twice. Next, main memory consumption will be higher as parsed files will be cached in main memory.
|
ADDRAW
| Signature
|
ADDRAW [boolean]
|
| Default
|
false
|
| Summary
|
If this option is activated, and if new resources are added to a database, all files that are not filtered by the CREATEFILTER option will be added as raw files (i.e., in their binary representation).
|
PARSER
| Signature
|
PARSER [type]
|
| Default
|
XML
|
| Summary
|
Defines a parser for importing new files to the database. Currently, 'XML', 'JSON', 'CSV', 'TEXT', 'HTML' are available as parsers. HTML will be parsed as normal XML files if Tagsoup is not found in the classpath.
|
PARSEROPT
| Signature
|
PARSEROPT [options]
|
| Default
|
empty
|
| Summary
|
Defines parser-specific options; see Parsers for more information.
|
HTMLOPT
Template:Mark
| Signature
|
HTMLOPT [options]
|
| Default
|
empty
|
| Summary
|
Allows to specify TagSoup options for HTML parsing; see HTML Parser for more information.
|
XML Parsing
CHOP
| Signature
|
CHOP [boolean]
|
| Default
|
true
|
| Summary
|
Chops all leading and trailing whitespaces from text nodes while building a database, and discards empty text nodes. This option often reduces the database size by up to 50%.
|
INTPARSE
| Signature
|
INTPARSE [boolean]
|
| Default
|
true
|
| Summary
|
Uses the internal XML parser instead of the standard Java XML parser. The internal parser is faster, more fault tolerant and supports common HTML entities out-of-the-box, but it does not support all features needed for parsing DTDs.
|
STRIPNS
Template:Mark
| Signature
|
STRIPNS [boolean]
|
| Default
|
false
|
| Summary
|
Strips all namespaces from an XML document before adding it to a database.
|
DTD
| Signature
|
DTD [boolean]
|
| Default
|
false
|
| Summary
|
Parses referenced DTDs and resolves XML entities. By default, this option is switched to false, as many DTDs are located externally, which may completely block the process of creating new databases. The CATFILE option can be changed to locally resolve DTDs.
|
CATFILE
| Signature
|
CATFILE [path]
|
| Default
|
empty
|
| Summary
|
Specifies a catalog file to locally resolve DTDs; see the entry on Catalog Resolvers for more details.
|
Indexing
PATHINDEX
| Signature
|
PATHINDEX [boolean]
|
| Default
|
true
|
| Summary
|
Creates a path index whenever a new database is created. A path index helps to optimize location paths; see Indexes for more details.
|
TEXTINDEX
| Signature
|
TEXTINDEX [boolean]
|
| Default
|
true
|
| Summary
|
Creates a text index whenever a new database is created. A text index speeds up queries with equality comparisons on text nodes; see Indexes for more details.
|
ATTRINDEX
| Signature
|
ATTRINDEX [boolean]
|
| Default
|
true
|
| Summary
|
Creates an attribute index whenever a new database is created. An attribute index speeds up queries with equality comparisons on attribute values; see Indexes for more details.
|
FTINDEX
| Signature
|
FTINDEX [boolean]
|
| Default
|
false
|
| Summary
|
Creates a full-text index whenever a new database is created. A full-text index speeds up queries with full-text expressions; see Indexes for more details.
|
MAXLEN
| Signature
|
MAXLEN [int]
|
| Default
|
96
|
| Summary
|
Specifies the maximum length of strings that are to be indexed by the name, path, value, and full-text index structures. The value of this option will be assigned once to a new database, and cannot be changed after that.
|
MAXCATS
| Signature
|
MAXCATS [int]
|
| Default
|
100
|
| Summary
|
Specifies the maximum number of distinct values (categories) that will be stored together with the element/attribute names or unique paths in the Name Index or Path Index. The value of this option will be assigned once to a new database, and cannot be changed after that.
|
UPDINDEX
| Signature
|
UPDINDEX [boolean]
|
| Default
|
false
|
| Summary
|
If turned on, incremental indexing will be activated: all update operations will also update the value index structures (texts and attribute values). The value of this option will be assigned once to a new database, and cannot be changed after that. The advantage of incremental indexes is that the value index structures will always be up-to-date. The downside is that updates will take a little bit longer.
|
Full-Text
STEMMING
| Signature
|
STEMMING [boolean]
|
| Default
|
false
|
| Summary
|
A new full-text index will stem all tokens and speed up queries on stemmed tokens. The same stemming normalization will be applied to all query tokens that are checked against tokens in this index.
|
CASESENS
| Signature
|
CASESENS [boolean]
|
| Default
|
false
|
| Summary
|
A new full-text index will preserve the case of all tokens. The same case normalization will be applied to all query tokens that are checked against tokens in this index.
|
DIACRITICS
| Signature
|
DIACRITICS [boolean]
|
| Default
|
false
|
| Summary
|
A new full-text index will preserve the diacritics of all tokens. The same diacritics normalization will be applied to all query tokens that are checked against tokens in this index.
|
LANGUAGE
| Signature
|
LANGUAGE [lang]
|
| Default
|
en
|
| Summary
|
A new full-text index will use the given language to normalize all tokens. This option is mainly important if tokens are to be stemmed, or if the tokenization of a language differs from Western languages.
|
STOPWORDS
| Signature
|
STOPWORDS [path]
|
| Default
|
empty
|
| Summary
|
A new full-text index will drop tokens that are listed in the specified stopword list. A stopword list may decrease the size of the full text index. A standard stopword list for English texts is provided in the directory etc/stopwords.txt in the official releases.
|
WILDCARDS
Template:Mark new index supports both fuzzy and wildcard queries.
| Signature
|
WILDCARDS [boolean]
|
| Default
|
false
|
| Summary
|
If a new full-text index is created, it will be particularly optimized for wildcards expressions. See the page on Full-Texts for more information on XQuery Full Text.
|
SCORING
Template:Mark new scoring model will focus on lengths of text nodes and match options.
| Signature
|
SCORING [mode]
|
| Default
|
0
|
| Summary
|
A new full-text index will pre-calculate full-text scores. This option enables TF/IDF/based scores in full-text queries and increases main memory consumption while indexing. See the Scoring for more information on different scoring types.
|