Integrating Eclipse
This tutorial describes how to access BaseX from Eclipse via the oXygen XML Editor plugin.
The plugin offers the same features as specified in Integrating oXygen. However, the way to get there from within Eclipse is a bit different.
There are two alternatives for using BaseX in oXygen:
- Resources in BaseX Databases can be browsed, opened and modified via WebDAV.
- XQuery expressions can be run by the query processor of BaseX via the XQJ interface.
Note: BaseX itself is a highly compliant XQuery 4.0 processor. The XQJ interface, which is used to establish the connection between oXygen and BaseX, is specified for XQuery 1.0. We encourage you to use the XML editor integrated into the BaseX GUI to edit and query your XML data.
Preparations
- Download and install Eclipse. Note: The plugin officially supports Eclipse 4.5 to 4.39. Please also note that you will require an oXygen license to use the plugin.
- Follow the instructions in the oXygen Manual to install the plugin, e.g. via Help → Install New Software and the update site
https://www.oxygenxml.com/InstData/Editor/Eclipse/site.xml. - In Eclipse, click on the oXygen icon in the upper right corner to open the plugin. The XML Project you created during the installation of the plugin should be displayed in the Navigator panel. In this example, it is called BaseXProject:
Access Database Resources
Added: Instructions for accessing database resources via WebDAV were re-added.
Preparations
- Download one of the complete BaseX distributions (ZIP, EXE).
- Start the Web Application, e.g. with the
basexhttpstart script (see Startup). - Create a BaseX database, if necessary (see Databases).
Configuration
Note: If you have already integrated BaseX into the oXygen XML Editor itself as described in Integrating oXygen, your BaseX WebDAV connection will already be available in the plugin.- In Eclipse, go to menu Window → Preferences (Eclipse → Settings on macOS). In the dialog, choose the oXygen XML Editor item, and then the Data Sources subitem.
- In the Connections panel (in the lower half of the screen), click the New button (
+). - Enter “BaseX WebDAV” as connection name.
- Select one of the WebDAV data sources (e.g. WebDAV (S)FTP) in the Data Source dropdown box.
- Fill in the appropriate connection details as follows:
- Click OK to complete the connection configuration.
- Click Apply and Close to close the preferences dialog.
- If prompted, restart Eclipse to activate all changes.
You can then access your databases via the Data Source Explorer: Window → Show View → Data Source Explorer. Databases are listed as top-level folders, and the resources they contain can be opened, edited, copied, moved and deleted.
Notes
- The credentials of a database user are requested, and its permissions decide which operations are allowed. A user with
createpermission is required to add or drop databases. - A resource that is saved directly below
/webdavwill create a new database, named after the file without its suffix. - BaseX supports WebDAV write locks. They can be requested by the plugin via Preferences → oXygen XML Editor → Network Connection Settings → HTTP(S)/WebDAV → Lock WebDAV files on open. Locks are kept in main memory and will be discarded when the server is restarted.
- See WebDAV for more details on the service and its conventions.
Perform Queries
One-Time Setup
Note: If you have already integrated BaseX into the oXygen XML Editor itself as described in Integrating oXygen, your data sources and connections will already be available in the plugin.Configuration
- In Eclipse, go to menu Window → Preferences (Eclipse → Settings on macOS). In the dialog, choose the oXygen XML Editor item, and then the Data Sources subitem.
- In the Data Sources panel, add a new data source using the New button (
+). - Enter “BaseX” as name and select XQuery API for Java (XQJ) from the Type dropdown box.
- Add the following JAR files of your distribution with the Add button. The versions of the JAR files may differ:
basex/lib/xqj-api-1.0.jarbasex/lib/xqj2-0.2.0.jarbasex/lib/basex-xqj-13.0.jarbasex/BaseX.jar, if you want to use BaseX embedded
- Under Driver class, choose the preferred driver class:
- Client/server communication:
net.xqj.basex.BaseXXQDataSource - Embedded use (standalone):
net.xqj.basex.local.BaseXXQDataSource
- Client/server communication:
- Click OK

Configure Connection
- In the Connections section (in the lower half of the Data Sources dialog), click New (
+). - Enter “BaseX XQJ” as name and select “BaseX” as data source.
- If you use the default driver, enter the following values in the Connection Details section:
- Click OK to complete the connection configuration.
- Click Apply and Close to close the preferences dialog.
- If prompted, restart Eclipse to activate all changes.
Configure New Transformation Scenario
- In Eclipse, select File → New → XQuery File. Enter a filename and click Finish. Enter a query and save the file.
- Select Window → Show View → Transformation Scenarios.
- In the Transformation Scenarios panel on the right-hand side, click
+and select XQuery transformation in the lower part of the dropdown list. - Enter a name for your transformation, e.g., “BaseX”.
- Specify an optional XML and XQuery URL:
- If you would like to query a database, leave the XML URL field empty and use
db:getin your XQuery URL file. - If you specify an XML document in the XML URL field, you can query its content using
.(dot operator) in your XQuery URL file.
- If you would like to query a database, leave the XML URL field empty and use
- Choose “BaseX XQJ” as Transformer from the combo box.
- Click OK to complete the scenario configuration.
Execute Query
After the one-time setup steps are complete, you can execute your query using the new transformation scenario. Start the transformation by clicking the red Run button (Apply associated scenarios) in the Transformation Scenarios window, while your scenario is selected. The results should be immediately displayed in the result panel.
Changelog
Version 13.0- Added: Instructions for accessing database resources via WebDAV were re-added.

