OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile [email protected].

16
oXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile [email protected]

Transcript of OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile [email protected].

Page 1: OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com.

oXygen XML Editor

Support for eXist DB XQuery debugging.

Stefan [email protected]

Page 2: OXygen 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)

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)

Page 3: OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com.

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)

Page 4: OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com.

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.

Page 5: OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com.

XQuery debugging perspective

Page 6: OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com.

Breakpoints view

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

Page 7: OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com.

Variables view

Saxon Variables View

Saxon

eXist DB

Page 8: OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com.

XWatch view

Saxon XWatch

view

eXist XWatch

view

Saxon

eXist DB

Page 9: OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com.

XWatch

Sequence value representation with Saxon XQuery processor.

Page 10: OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com.

XWatch view

Sequence value representation in eXist DB

Page 11: OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com.

Stack View

Saxon Stack View

Exist Stack View

Saxon

eXist DB

Page 12: OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com.

Output view

Page 13: OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com.

XQuery Profiling Views

Saxon XQuery profiling

Page 14: OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com.

Demo

Page 15: OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com.

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).

Page 16: OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com.

Q&A

Send questions to:

Oxygen XML support - [email protected]

Stefan Vasile - [email protected]

Thank You