Graphical User Interface

From BaseX Documentation
Revision as of 13:42, 25 February 2019 by Sabine Teubner (talk | contribs)
Jump to navigation Jump to search

This page is part of the Getting Started Section. In addition to its standalone console mode, BaseX comes with its own graphical user interface which offers you great tools for managing, querying and visualising your (XML) data.


Depending on your operating system, you can launch a GUI instance of BaseX by double-clicking on the BaseX GUI start icon (Windows only) or running the basexgui script. Additional startup options are listed in the Startup article.

Database Management

The BaseX GUI is a great place for creating and administrating your XML databases.

To create a new database, select DatabaseNew from the menu and browse to an XML document of your choice. You can start with the factbook.xml document, which contains statistical information on the worlds' countries. It is included in the etc directory of our full distributions ( ZIP Package and Windows Installer) or can be downloaded here (1.3 MB). In the Create Database dialog, specify the path to your input file and the name of the new database. If you leave the input file field empty, an empty database will be created. Click the OK button to create the database.

Note: You can also use the GUI's editor to create and edit your own XML document. Just specify it as input file for the creation of a new database after saving the document to disk.

To open, rename, copy or drop a database, choose DatabaseOpen & Manage... from the menu. Select one of the available databases on the left-hand side and click on one of the buttons on the right: Open, Rename, Copy or Drop. To open a database, you can also double-click on the database name.

Opening a database activates three more options in the Database menu:

  • The Properties item gives you access to a variety of database options and information:
    • Add resources and/or set parsing preferences.
    • Gain insights into element and attribute names, paths and other meta information.
    • Create and manage text, attribute, token and full-text indexes. Set index preferences for language, stemming, case-sensitivity and diacritics or specify a stop word list.
  • With the Export item, you can serialize your database into a whole range of different output formats, including XML, JSON and CSV.
  • The Close item closes the database. Currently open databases are closed automatically as soon as another database is opened.


BaseX's built-in XML editor is a powerful tool for developing full RESTXQ applications. It can be used to write and run XQuery files and modules, edit XML and JSON documents, Command Scripts, and any other text files:

  • XQuery, XML and JSON files will be parsed in realtime, and errors will be highlighted.
  • XQuery code and command scripts can be executed (via Ctrl Enter, or by clicking on the green triangle).
  • Syntax highlighting is available for XQuery, XML, JSON and JavaScript files.

Numerous keyboard shortcuts are available to speed up editing and debugging. Some examples:

  • Ctrl H: Search the currently selected string in your complete project.
  • Ctrl .: Jump to the next erroneous code in your project.

Template:Mark: If you right-click on an XML document in the Project View, the selected file will be parsed and bound to the context item:


Project View

The Project View is attached to the editor panel. It displays all files of the current project directory in a tree structure. Files can be renamed and deleted by right-clicking on the files. The project directory can be changed as well; the most recent directories will be kept in the history.

All XQuery files in the project directory will be parsed in the background. Buggy XQuery modules, and files importing these modules, will be marked red. With the text fields on top, you can interactively search for file names and contents.

Input Bar

On top of the main window, you can find an input bar. The attached dropdown menu provides three modes: Find, XQuery and Command:

Input Bar

The upcoming example queries can all be used with an instance of the factbook database:


In the Find mode, the input bar can be used to find single elements and texts in the currently opened database. The following syntax is supported:

Query Description
city Find elements named city, and texts containing this token.
=India Find texts matching the exact string India.
~Cing Find texts equal or similar to the token Cingdom.
id Find attributes named id and attribute values containing this token.
@=f0_119 Find attribute values matching the exact string f0_119.
"European Chinese" Find texts containing the phrase "European Chinese".
//city Leading slash: Interpret the input as XPath expression (see below).


In the XQuery mode, XPath and XQuery expressions can be entered in the input bar.

To evaluate the following example queries: enter them in the input bar, and press ENTER or click on the START button:

Query Description
//country Return all country elements.
//country[name = "Switzerland"] Return the country element of "Switzerland".
for $city in //city
where $city/population > 1000000
order by $city ascending
return $city/name
Return the names of all cities with a population larger than one million and order the results by the name of the city.


In the Command mode, BaseX Commands can be entered and executed. Just try the following examples:

  • INFO: Returns system information.
  • CREATE DB TEST: Creates an empty database named "TEST".
  • LIST: Lists all databases.

Realtime Options

Via the Options menu, you can change how queries are executed and visualized:

  • Realtime Execution: If realtime execution is enabled, your searches and queries will be executed with each key click and the results will be instantly shown.
  • Realtime Filtering: If enabled, all visualizations will be limited to the actual results in realtime. If this feature is disabled, the query results are highlighted in the visualizations and can be explicitly filtered with the 'Filter' button.


The BaseX GUI offers various visualizations, which help you to explore your XML data instances from different perspectives:

Text View


Displays query results and other textual output. Query results can be saved in a file.
Map View


Displays all data in a TreeMap. All nodes of the XML document are represented as rectangles, filling the complete area. You can choose different layout algorithms in the Menu OptionsMap Layout.
Tree View


Displays all XML nodes in a top down tree with edges and nodes. You can change some settings of the Tree in the Menu OptionsTree Options.
Folder View


Displays all nodes in an Explorer-like folder view. Nodes can be expanded or closed by clicking on the arrows.
Scatterplot View


Displays all nodes in a scatterplot, which is particularly helpful if you want to explore analyze your data. Three drop down menus allow custom axis assignments.
The Table View


Comes in handy if your data is highly regular. It displays all nodes in a table with rows and columns. Different assignments can be chosen by clicking on the arrow in the right upper corner.
Explorer View


Can be used to explore the contents of your database via drop-down menus, search fields and double sliders.
Info View


Helpful for analyzing the query plans of your XQuery expressions. It also displays information on the compilation and evaluation of queries.

Look and Feels

By default, the Look and Feel of your operating system will be used in the GUI. In the Preferences dialog, you can choose among some more window themes.

The JTattoo library offers some more look and feels. If you download and copy the JTattoo jar file into the lib directory provided by the ZIP and EXE distribution of BaseX, 13 additional looks and feels will get available.

Default Look & Feel
HiFi Look & Feel


Version 9.1
  • Added: Project View, set XML document as context.
Version 8.4
  • Added: highlighting of erroneous XQuery modules in the project view.
Version 8.0
  • Updated: support for dark look and feels; support for JTatto library