.\" Text automatically generated by txt2man
.TH basex 1 "19 April 2022" "" "The XML Database"
.SH NAME
\fBbasex \fP- XML database system and XPath/XQuery processor (command line mode)
\fB
.SH SYNOPSIS
.nf
.fam C
\fBbasex\fP [\fB-bcdiIoqrRstuvVwxz\fP] [\fIinput\fP]
.fam T
.fi
.fam T
.fi
.SH DESCRIPTION
\fBbasex\fP is a fast and powerful, yet light-weight and platform independent XML
database system and XPath/XQuery processor.
.SH OPTIONS
A short description of option can be obtained from
.PP
.nf
.fam C
$ basex \-h
.fam T
.fi
or by browsing https://docs.basex.org/wiki/Command-Line_Options#Standalone
.SH DATABASE COMMANDS
A list of supported Database commands can be obtained from
.PP
.nf
.fam C
$ basex \-c help
.fam T
.fi
or by browsing https://docs.basex.org/wiki/Commands
.SH EXAMPLES
.IP \(bu 3
XQuery evaluation (no database, no interaction, script mode):
.PP
.nf
.fam C
$ basex 19+23
42
$ basex -q "{ 23+19 }"
42
.fam T
.fi
.IP \(bu 3
Import an XML file into database, output its content (query its root) and be verbose:
.PP
.nf
.fam C
$ basex \-Vc "CREATE DB input /usr/share/doc/basex/examples/input.xml; XQUERY /"
Database 'input' created in 136.84 ms.
XML
Databases & XML
Query: /
Compiling:
Result: root()
Parsing: 5.08 ms
Compiling: 27.2 ms
Evaluating: 0.87 ms
Printing: 13.7 ms
Total Time: 46.86 ms
Hit(s): 1 Item
Updated: 0 Items
Printed: 358 Bytes
Query executed in 42.52 ms.
.fam T
.fi
.IP \(bu 3
XPath evaluation (with existing database):
.PP
.nf
.fam C
$ basex \-c "OPEN input; XQUERY //li[1]"
Exercise 1
.fam T
.fi
.IP \(bu 3
Retrieve XML from the web and perform XPath query:
.PP
.nf
.fam C
$ basex \-q "doc('https://files.basex.org/examples/input.xml')//li"
Exercise 1
Exercise 2
.fam T
.fi
.IP \(bu 3
W3C XQuery Full-Text (make use of full-text index and perform fuzzy query with a typing error):
.PP
.nf
.fam C
$ basex
BaseX 7.1 [Standalone]
Try "help" to get more information.
> SET FTINDEX on
Full-Text Index: ON
> CREATE DB input /usr/share/doc/basex/examples/input.xml
Database 'input' created in 94.42 ms.
> XQUERY //b[text() contains text 'Asisgnment' using fuzzy]
Assignments
Query executed in 8.37 ms.
.fam T
.fi
.IP \(bu 3
Update the database and show result:
.PP
.nf
.fam C
> XQUERY delete node //ul
Query executed in 2.79 ms.
> XQUERY replace value of node //b with 'Debian rules'
Query executed in 2.94 ms.
> XQUERY //div
Debian rules
Query executed in 1.01 ms.
.fam T
.fi
.IP \(bu 3
Open an \fIinput\fP xml file, execute a query and write result into file:
.PP
.nf
.fam C
$ basex \-i /usr/share/doc/basex/examples/input.xml \-q //div \-o out.xml
$ cat out.xml
.fam T
.fi
.IP \(bu 3
Query an already existing database called '\fIinput\fP'. If a file named '\fIinput\fP' exists in current working directory it takes precedence:
.PP
.nf
.fam C
$ basex \-i input \-q //div
.fam T
.fi
.IP \(bu 3
Let \fBbasex\fP process query \fIinput\fP from standard in:
.PP
.nf
.fam C
$ echo '19+23' | basex \-q\-
42
.fam T
.fi
.IP \(bu 3
Execute commands from script file:
.PP
.nf
.fam C
$ cat commands.txt
create db debian
xquery /
list
$ basex \-C commands.txt | grep debian
debian 1 4639 debian.xml
.fam T
.fi
.IP \(bu 3
Parse non well-formed HTML (needs libtagsoup-java installed):
.PP
.nf
.fam C
$ cat bad.html
$ basex \-c 'set parser html; set htmlopt method=html,nons=true; create db htmldb bad.html'
$ basex \-q "doc('htmldb')"
Alternative:
$ basex -q 'declare option db:parser "html"; doc("bad.html")'
For further documentation on how to configure the HTML Parser refer to
https://docs.basex.org/wiki/Parsers#HTML_Parser
.fam T
.fi
.SH SEE ALSO
\fBbasexgui\fP(1), \fBbasexserver\fP(1), \fBbasexclient\fP(1)
.PP
.nf
.fam C
.basexhome can be created by a user to mark a folder as home directory.
.basex BaseX (standalone and server) properties
.basexgui BaseX additional GUI properties
.basexhistory contains commands that have been typed in most recently.
${basexhome}/data Default database directory
${basexhome}/data/.logs Server logs
${basexhome}/repo Package repository
.fam T
.fi
BaseX Documentation Wiki: https://docs.basex.org
.SH HISTORY
BaseX started as a research project of the Database and Information Systems
Group (DBIS) at the University of Konstanz in 2005 and soon turned into a
feature-rich open source XML database and XPath/XQuery processor.
.SH LICENSE
New (3-clause) BSD License
.SH AUTHOR
BaseX is primarily developed by Christian Gruen with
the help of various contributors
.PP
The man page was written by Alexander Holupirek while packaging BaseX for Debian GNU/Linux.