oX ygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml

Preview:

DESCRIPTION

oX ygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com. Oxygen XML support for eXist DB. Database management (using Data Source Explorer View) Allows multiple eXist connections. Collection management (add,delete, rename, move, dnd, properties) - PowerPoint PPT Presentation

Citation preview

oXygen XML Editor

Support for eXist DB XQuery debugging.

Stefan Vasilestefan@oxygenxml.com

Oxygen XML support for eXist DB

Database management (using Data Source Explorer View) Allows multiple eXist connections.

Collection management (add,delete, rename, move, dnd, properties)

Resource management (add, delete, rename, move, dnd, edit, properties)

WebDAV support (http://ipAddress:8080/exist/webdav/db/)

XQuery Editing support (outline view, content completion including eXist

extensions)

Validation support (done using eXist XQuery engine)

Execution support (transformation scenarios)

Debugging support (work in progress)

What can be debugged?

Only local debugging is accepted (remote debugging will be available soon).

You can debug a XQuery file:

That is stored into a database collection: http://127.0.0.1:8080/exist/rest/db/xquery/json-test.xql

The user can select the Xquery file using Oxygen DataSource Explorer (a tree view of database content) .

That is stored in webapp/xquery folder: http://127.0.0.1:8080/xquery/fibo.xql

There is no easy way to select the XQuery file from webapp directory (the user should know exactly the file location)

Debug XQuery in HTTP context

The common way to deploy an eXist database is in a servlet context.

The XQueryServlet or REST servlets reads XQuery scripts from the file system or database and execute them with the current HTTP context.

There could be complex interactions with an eXist application that could involve multipe XQuery scripts and various parameter passing (including the context parameters).

Users whould like to have the possibility to debug an XQuery with the current HTTP context.

The user should be able to put an XQuery script in debug mode and be able to interact with it when the script is called.

XQuery debugging perspective

Breakpoints view

Breakpoint types: Line, Conditional , Call, Return, Exception, Watch

Variables view

Saxon Variables View

Saxon

eXist DB

XWatch view

Saxon XWatch

view

eXist XWatch

view

Saxon

eXist DB

XWatch

Sequence value representation with Saxon XQuery processor.

XWatch view

Sequence value representation in eXist DB

Stack View

Saxon Stack View

Exist Stack View

Saxon

eXist DB

Output view

XQuery Profiling Views

Saxon XQuery profiling

Demo

Further directions

Finalize the features set (that could probably trigger some eXist debugging API changes).

We need a stable eXist debugging API. There is still work to be done for integration. We need to wait for eXist main release (1.5,1.6?) that

will include eXist debugging API. We need to wait for the following oXygen release after

eXist main release (probably version 13).

Q&A

Send questions to:

Oxygen XML support - support@oxygenxml.com

Stefan Vasile - stefan@oxygenxml.com

Thank You

Recommended