Handling XML data is not easy because even though it’s highly readable (assuming quasi-English counts) it’s also voluminous. So, if you’re going to explore an XML dataset you absolutely need tools that will make the content easy to explore, simple to edit, and effectively visualized. This is just what a free, open source tool called BaseX does.

BaseX “is a scalable and high-performance, yet very light-weight XML Database engine and XPath/XQuery Processor, supporting the latest W3C Update and Full Text Recommendations.”

On top of that, BaseX supports interactive visualizations, includes a realtime XQuery editor (with syntax highlighting and error reporting), and provides a client/server architecture that supports ACID safe transactions, user management, and logging. It also supports REST/RESTXQ, WebDAV, XQJ, and XML:DB interfaces and includes support for English, German, French, Italian, Dutch, Japanese, Indonesian, Romanian, and Mongolian. The documentation is also excellent.

BaseX BaseX showing complex data visualization

To give you an idea of what you can do with BaseX here’s the client-side user interface displaying one of the sample datasets, geographic location data, which the project provides. BaseX provides a query interface and, at the top right, a graphical interpretation of the data showing latitude and longitude as X and Y axis values respectively to produce a map.

BaseX Exploring table data with BaseX

BaseX BaseX displaying data in a tree view

You can run very complex queries against datasets and render the results not only as X-Y plots but also as tree and table views.

Currently the OS X version is stable (although you’ll need to use Homebrew to install it) as are Ubuntu, Archlinux, openSUSE, SUSE Linux Enterprise, Fedora, Red Hat Enterprise Linux, and Scientific Linux 7 (note that not all stable versions BaseX are available on all versions of target operating systems (e.g. openSUSE 11.4 can only run BaseX 7.9 while openSUSE Factory can run BaseX 8.0). Debian GNU is in development.

The current version, BaseX 8.0.1, requires Java 7; previous versions required Java 6.

BaseX is an amazing tool and for anyone dealing with serious XML data wrangling it's one of the best tools I’ve found. BaseX gets a Gearhead rating of 5 out of 5.